Рефераты. Система математических расчетов MATLAB

E = [ones(size(t))   exp(-t)]

                                                   E =

1.0000    1.0000

1.0000    0.7408

1.0000    0.4493

1.0000    0.3329

1.0000    0.2019

1.0000    0.1003

Решение методом наименьших квадратов находится при помощи оператора \ :


c = E\y

                                                                 c =

0.4760

0.3413


Иными словами, подгонка методом наименьших квадратов дает


y(t) = 0.476 + 0.3413 e-t


Следующие выражения оценивают модель при равномерно распределенных моментах време-ни (с шагом 0.1), а затем строят график вместе с результатами экспериментальных данных.


                                                       T = (0 : 0.1 : 2.5)';

Y = [ones(size(T))   exp(-T)]*c;

                                                        plot(T, Y, '-', t, y, 'o')


Можно видеть, что значения E*c не совсем точно совпадают со значениями эксперименталь-ных данных y, но эти отклонения могут быть сравнимы с ошибками измерений.

Прямоугольная матрица A называется матрицей неполного ранга, если ее столбцы линейно-независимы. Если матрица  A имеет неполный ранг, то решение AX = B не является единст-венным. Оператор \  при этом выдает предупреждающее сообщение и определяет основное  решение, которое дает минимально возможное число ненулевых решений.

 

 

 

 

 

Недоопределенные системы

 

Недоопределенные системы линейных уравнений содержат больше неизвестных чем урав-нений. Когда они сопровождаются дополнительными ограничениями, то становятся сферой изучения линейного программирования. Сам по себе, оператор \  работает только с системой без ограничений. При этом решение никогда не бывает единственным. MATLAB находит ос-новное решение, которое содержит по меньшей мере m ненулевых компонент (где m  - число уравнений), но даже это решение может быть не единственным. Ниже приводится пример, где исходные данные генерируются случайным образом.

R = fix (10*rand(2,4))

                                                           R =

6  8  7  3

3  5  4  1

 

b = fix (10*rand(2,1))

                                                            b =

1

2

 

Система уравнений  Rx = b содержит два уравнения с четырьмя неизвестными. Поскольку матрица коэффициентов R содержит небольшие по величине целые числа, целесообразно  представить решение в формате rational (в виде отношения двух целых чисел). Частное ре-шение представленное в указанном формате есть:


p = R\b

                                                                      p =

0

5/7

0

-11/7

 

Одно из ненулевых решений есть p(2), потому что второй столбец матрицы R имеет наи-большую норму. Вторая ненулевая компонента есть p(4) поскольку четвертый столбец матрицы R становится доминирующим после исключение второго столбца (решение нахо-дится методом QR-факторизации с выбором опорного столбца).



 

 

Обратные матрицы и детерминанты

 

Если матрица А является квадратной и невырожденной, уравнения AX = I  и  XA = I имеют одинаковое решение X. Это решение называется матрицей обратной к A, обозначается через A-1  и вычисляется при помощи функции inv. Понятие детерминанта (определителя) матрицы полезно при теоретических выкладках и некоторых типах символьных вычислений, но его масштабирование и неизбежные ошибки округления делают его не столь привлекательным при числовых вычислениях. Тем не менее, если это требуется, функция det вычисляет определитель квадратной матрицы. Например,


A = pascal (3)

                                                               A =

1   1   1

1   2   3

1   3   6

 

d = det (A)

X = inv (A)

                                                                  d =

1

 

                                                                  X =

3   -3    1

-3    5    -2

1   -2    1


Опять таки, поскольку A является симметричной матрицей целых чисел и имеет единичный определитель, то же самое справедливо и для обратной матрицы. С другой стороны, для


B = magic(3)

                                                          B =

8   1   6

3   5   7

4   9   2

 

d = det(B)

X = inv(B)

                                                          d =

-360

                                                          X =

0.1472   -0.1444   0.0639

                                                            -0.0611   0.0222   0.1056

-0.0194   0.1889  -0.1028

 

Внимательное изучение элементов матрицы X, или использование формата rational , показы-вает, что они являются целыми числами, разделенными на 360.

Если матрица A является квадратной и несингулярной, то, пренебрегая ошибками округле-ния, выражение X = inv(A)*B теоретически означает то же, что и X = A\B , а Y = B*inv(A) теоретически есть то же, что и Y = B/A. Однако вычисления включающие операторы  \  и  /  более предпочтительны, поскольку требуют меньше рабочего времени, меньшей памяти и имеют лучшие свойства с точки зрения определения ошибок.

Псевдообратные матрицы

 

Прямоугольные матрицы не имеют детерминантов и обратных матриц. Для таких матриц по крайней мере одно из уравнений AX = I или XA = I не имеет решения. Частично данный про-бел восполняется так называемой псевдообратной матрицей Мура-Пенроуза, или просто псевдообратной матрицей, которая вычисляется при помощи функции pinv. На практике необходимость в этой операции встречается довольно редко. Желающие могут всегда обра-титься к соответствующим справочным пособиям.

Степени матриц и матричные экспоненты

Положительные целые степени

 

Если А есть некоторая квадратная матрица, а р – положительное целое число, то A^p эквива-лентно умножению A на себя р раз.


X = A^2

                                                         

                                                            X =

3    6    10

6   14   25

10    25   46

 

Отрицательные и дробные степени

 

Если А является квадратной и невырожденной, то A^(-p) эквивалентно умножению inv(A) на себя p раз.


Y = B^(-3)

                                                  Y =

0.0053   -0.0068   0.0018

-0.0034     0.0001  0.0036

-0.0016    0.0070    -0.0051

 

Дробные степени, например A^(2/3), также допускаются; результаты при этом зависят от ра-спределения собственных значений матрицы А.



Поэлементное возведение в степень

 

Оператор .^ (с точкой !) осуществляет поэлементное возведение в степень. Например,


X = A.^2

                                                             A =

1    1    1

1    4    9

1    9  36

Вычисление корня квадратного из матрицы и матричной экспоненты


Для невырожденных квадратных матриц А функция sqrtm вычисляет главное значение квад-ратного корня , т.е. если X = sqrtm(A) , то X*X = A . Буква m в sqrtm  означает, что выпол-няется матричная операция. Это отличает данную функцию от sqrt(A), которая, подобно A.^(1/2) (обратите внимание на точку !), выполняет операцию извленчения корня поэлемен-тно.

Система обыкновенных линейных дифференциальных уравнений первого порядка может быть записана в виде

dx/dt = Ax

где x = x(t) есть векторная функция от t, а  A есть постоянная матрица не зависящая от t.

Решение данной системы может быть выражено в виде матричной экспоненты.


x(t) = Atx(0)

Функция expm(A) вычисляет матричную экспоненту. Рассмотрим пример системы диффере-нциальных уравнений со следующей 3х3 матрицей коэффициентов


                                                           A =

0    -6    -1

6     2   -16

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.