- •2.1. Табулирование функций (составление таблиц значений функций)
- •Варианты заданий
- •Выражения
- •2.3. Аппроксимация функций
- •2.4. Численное решение обыкновенных дифференциальных
- •2.5. Приближенное вычисление определенных интегралов
- •2.6. Численное решение нелинейных уравнений
- •2.7. Численное решение оптимизационных задач
Выражения
-
Х
=
A\В
Х
=
А^ 1* В
Х
=
inv(A) * В
Х
=
В/A
дают решения ряда систем линейных уравнений АХ = В, где А – матрица размером m n, В – матрица размером п к, в частности - столбец. Более сложные случаи решения систем уравнений (2.2) с плохо обусловленной матрицей А рассматривать не будем.
Пример 3.
Решить систему 4-х линейных уравнений:
Протокол программы (в М-файле)
A |
= |
[1.1161 0.1397 0.1254 0.1490; 0.1582 0.1768 1.1675 0.1871; 0.1968 1.2168 0.2071 0.2271; 0.2368 0.2568 0.2471 1.2671] |
B |
= |
[1.5471 ; 1.6471 ; 1.7471 ; 1.8471] ; |
Х1 = A \ B
Эта программа выдает решение заданной системы в виде матрицы-столбца
Х1 |
= |
1.0406 0.9351 0.9870 0.8813 |
Внимание. В М-файле матрица A набирается по строкам, в правой части B – столбец. Элементы B отделяются символом « ; » (точка с запятой). Число строк в обеих матрицах должно совпадать.
Операцию « \ » называют операцией левого деления (или же умножения слева на обратную матрицу inv(A)). Этой операции эквивалентна функция A\B = mldivide(A,B) (Matrix left division), вызываемая в командном окне.
Х |
= |
inv(A) * В. |
Решение с помощью оператора « \ » эффективнее, чем использование обратной матрицы. Это объясняется тем, что алгоритм решения системы линейных уравнений при помощи оператора « \ » определяется структурой матрицы коэффициентов системы. В частности, MATLAB исследует, является ли матрица треугольной, или может быть приведена перестановками строк и столбцов к треугольному виду, симметричная матрица или нет, квадратная или прямоугольная (умеет решать системы с прямоугольными матрицами – переопределенные или недоопределенные). Использовать специальные методы вместо оператора обратного деления « \ » следует, если имеется информация об особенных свойствах матрицы системы.
Операция правого деления « / » также имеется в MATLAB, но она решает системы линейных уравнений несколько иного вида YA=B и поэтому требует перестановки местами матриц А и В. Выражение В/А эквивалентно Вinv(A) или вызову функции mrdivide(B,A) - right-matrix division. При правом делении у матриц должно совпадать число столбцов, поэтому в нашем случае берутся транспонированные матрицы В, А
А |
= |
[1.1161 0.1582 0.1968 0.2368 ; 0.1397 0.1768 1.2168 0.2568 ; 0.1254 1.1675 0.2071 0.2471 ; 0.1490 0.1871 0.2271 1.2671] ; |
В |
= |
[1.5471 1.6471 1.7471 1.8471] ; |
Решения, найденные с помощью команд
Х2 = В* А ^ 1
Х3 = В* inv(А)
Х4= В/А ,
будут иметь вид вектора-строки.
Х1 |
= |
1.0406 0.9351 0.9870 0.8813 |
Х2 |
= |
1.0406 0.9351 0.9870 0.8813 |
Х3 |
= |
1.0406 0.9351 0.9870 0.8813 |
Варианты заданий. Решить систему линейных алгебраических уравнений с помощью 4-х операторов. Данные взять из таблицы 2.2.
Таблица 2.2
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 |
|
