622.00K
Category: mathematicsmathematics

Системы линейных алгебраических уравнений. Решение ряда задач

1.

СИСТЕМЫ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
Решение ряда задач сводится к решению системы линейных алгебраических
уравнений, причем, данные задачи являются вспомогательными при реализации
многих алгоритмов решения задач математической физики, обработки данных
экспериментальных исследований.
Методы численного решения систем линейных алгебраических уравнений
(СЛАУ) делятся на две группы: прямые и итерационные. В прямых методах
решение СЛАУ находится за конечное число арифметических действий.
Итерационные методы (их называют методами последовательных
приближений) состоят в том, что решение СЛАУ находится как предел
последовательных приближений х(n), где n - номер итерации. Как правило, за
конечное число итераций этот предел не достигается. Обычно задается
некоторое малое число > 0 (точность) и вычисления проводятся до тех пор,
пока не будет выполнено условие х(n)- х < .
Запишем исходную систему линейных алгебраических уравнений в общем
виде:
A11 x1 A12 x2 A1m xm B1
A x A x A x B
21 1
22 2
2m m
2
Am1 x1 Am 2 x2 Amm xm Bm
(4.1)
1

2.

Матрица системы линейных алгебраических уравнений имеет вид:
A11
A21
А
A
m1
A12
A22
Am 2
... A1m
... A2 m
...
... Amm
(4.2)
Матрица – столбец свободных членов имеет вид:
B1
B2
В
B
m
(4.3)
В матричной записи система уравнений (4.1) может быть записана следующим
образом
A X = B.
(4.4)
2

3.

Из матричного уравнения (4.4) получим X = A-1 B (4.5).
Простейший способ решения системы линейных алгебраических уравнений
в MathCad реализуется с помощью матриц:
X := A-1.B , где А - матрица коэффициентов, а В - матрица-столбец свободных
членов
системы
уравнений.
Аналогичный
результат
получается
с
использованием функции системы MathCad lsolve(A,B).
Встроенная системная переменная ORIGIN используется для задания
нумерации элементов матриц и векторов, отличной от установленной по
умолчанию. Значение переменной ORIGIN установленное по умолчанию в
MathCad - 0.
Задача 3.
Задана система линейных алгебраических уравнений:
x1 2 x2 1,
2 x 3 x 1,
3
2
3 x3 4 x4 1,
4 x 5 x 1,
5
4
x1 x2 x3 x4 x5 0.
Необходимо найти численное решение данной системы.
3

4.

Для решения данной задачи может быть успешно использован матричный
метод. Для его использования необходимо задать матрицу системы уравнений
А и матрицу столбец (вектор) свободных членов системы В. Поместить
матрицу в MathCad документ можно воспользовавшись кнопкой вставки
матрицы
инструментальной математической панелью матриц и векторов.
MathCad документ решения задачи 3 (матричный метод)
1 2 0 0 0
0 2 3 0 0
A 0 0 3 4 0
0 0 0 4 5
1 1 1 1 1
1
1
B 1
1
0
Матрица системы
алгебраических уравнений
Матрица - столбец
свободных членов
4

5.

1
X A
B
1.19
0.095
X 0.27
0.453
0.562
1
1
A X 1
1
0
Решение системы уравнений
Результат решения
системы уравнений
Проверка решения
5

6.

Матрицы А и В могут быть заданы и по другому – посредством задания всех
их матричных элементов. Элемент матрицы задаётся путём помещения у
имени матрицы индексов, разделённых запятой, соответствующих строке и
столбцу элемента. Индекс у имени можно поместить, воспользовавшись кнопкой
Xn из инструментальной панели матриц и векторов
.
Функция rows(A) позволяет определить число строк матрицы А.
После выполнения вычислений должна проводиться проверка результатов.
Количество значащих цифр, выводимых на экран, можно изменить,
воспользовавшись меню Format (Формат) Number (Результат). (закладка
Формат числа).
В любом месте документа пользователь может поместить комментарий, т.е.
текстовый блок, поясняющий вычисления, воспользовавшись меню Insert
(Вставка) Text Region (Область текста).
Для решения задачи 3 можно воспользуемся функцией пакета MathCad
Find, которая предназначена для решения систем линейных и нелинейных
алгебраических уравнений. Данная функция работает со служебным словом
Given за которым должны следовать уравнения, подлежащие решению.
Уравнения должны быть записаны как булевы выражения.
Для работы функции Find необходимо задать начальное приближение
искомых переменных, поскольку эта функция работает по итерационному
механизму вычислений. При решении систем уравнений переменная Rez
является вектором, а Find в этом случае содержит соответствующее число
аргументов. При решении задачи 3 используется встроенная переменная TOL
.
6

7.

MathCad документ решения задачи 3 (с использованием функции Find)
x1 1
x2 1
x3 1
x 1
x4 41
x 1
x5 51
Given
Given
x1 2 x2
Начальное приближение
искомых величин
1
2 x2 3 x3
1
3 x3 4 x4
1
4 x4 5 x5
1
x1 x2 x3 x4 x5
Уравнения системы
записаны как булевы
выражения
0
Rez Find x1 x2 x3 x4 x5
1.19
0.095
Rez 0.27
0.453
0.562
Функция Find решает систему
уравнений
Решение
системы
уравнений помещено
в вектор Rez
7

8.

Имена искомых переменных содержат цифровые символы, которые
визуально напоминают переменные с индексами. Для того, чтобы в программе
создать переменную x1 необходимо после x поставить точку, которая в
MathCad документе не отображается, а затем цифру 1.
Следует отметить основные особенности использования функции Find:
1. Решение получаемое с помощью функции Find зависит от начального
приближения.
2. Решение получаемое с помощью функции Find зависит от значения
переменной TOL.
3. Число уравнений системы может быть достаточно большим.
4. Уравнения системы могут быть нелинейными.
Функция Find, рассмотренная нами ранее, может успешно использоваться и
для аналитического решения нелинейных уравнений и их систем. В данном
случае начальные приближения искомых величин не задаются. После
служебного слова Given, как и ранее, следуют уравнения, а за ними функция
Find в виде Find(x,y,z) . Рассмотрим задачу 3m.
Задача 3m
Найти аналитическое решение системы нелинейных уравнений
2 x 4 y d
x 2 y 4 z
sin( d)
9
1
z y 2 z d x
d
2
относительно величин x, y и z. Поведение
функций x(d), y(d) и z(d) представить графически.
8

9.

MathCad документ решения задачи 3m
Given
2 x 4 y d
x 2 y 4 z
sin( d)
9
1
z y 2 z d x
d
2
7 d2 6 d sin( d) 110 d sin( d) 2 18 sin( d)
2 d 2 sin( d) 4
2
28
d
4
sin
(
d
)
2
d
2
d
sin
(
d
)
Find ( x y z)
d sin( d) 2
d sin( d) 9
8
8
4
Для графического представления зависимостей исходя из результатов
вычислений необходимо создать функции пользователя x(d), y(d) и z(d).
9

10.

2
1 110 d 7 d 6 d sin( d) 18 sin( d) sin( d)
x( d)
2
( 2 d sin( d) )
2
2
14 d d d sin( d) 2 sin( d)
y( d) 2
( 2 d sin( d) )
z( d)
9 1
1
d sin( d)
4 8
8
9 1
1
z( d) 100 d sin( d)
4 8
8
d 0 0.01 8
x ( d)10050
y ( d)
x ( d) 50
z ( d)
0
y ( d)
z ( d)
050
0
2
4
6
8
6
8
d
50
0
2
4
d
10

11.

Автоматически представить полученный результат в виде соответствующих
функций пользователя
x(d), y(d) и z(d) позволит следующий приём:
Rez(d): = Find(x,y,z) , задав функции пользователя следующим образом:
x(d): = Rez(d)0 . В данном выражении 0 является индексом.
11
English     Русский Rules