- •Министерство образования рф
- •Содержание
- •Введение Математическое моделирование и вычислительный эксперимент
- •Численные методы алгебры и анализа
- •1 Решение систем линейных алгебраических уравнений
- •1.1 Точные методы
- •1.1.1 Метод Гаусса
- •1.2 Итерационные методы решений систем алгебраических уравнений
- •1.2.1 Метод Якоби (простых итераций)
- •Рассмотрим систему
- •Для решения системы рассмотрим одношаговый стационарный метод
- •2 Плохо обусловленные системы линейных алгебраических уравнений
- •Погрешность возросла примерно в 237 раз. Число обусловленности системы (2.1) приблизительно равна 237.
- •2.1 Метод регуляризации для решения плохо обусловленных систем
- •Тогда ее можно представить как
- •2.2 Метод вращения (Гивенса)
- •В матричной форме получаем , где,.
- •3 Решение нелинейных уравнений
- •3.1 Метод простых итераций
- •Пример. Рассмотрим предыдущий пример и приведем систему к удобному для итераций виду
- •3.2 Метод Ньютона
- •Формула (3.7) и есть итерационная формула метода Ньютона для приближенного решения системы нелинейных уравнений.
- •3.2.1 Сходимость метода
- •4 Решение проблемы собственных значений
- •4.1 Прямые методы
- •У которой, как известно, собственными числами являются диагональные элементы.
- •4.1.4 Метод итераций определения первого собственного числа матрицы.
- •5 Задача приближения функции
- •Пример. При mn система функций 1,х,х2,…,хm линейно независима в точках х0,х1,…,хn, если они попарно различны.
- •5.1 Интерполяционный многочлен Лагранжа
- •5.1.1 Оценка погрешности интерполяционного многочлена
- •5.2 Интерполяционные полиномы Ньютона
- •Аналогично третья конечная разность
- •Вычислим первую конечную разность многочлена Pn(X) в точке х0
- •5.3 Интерполирование сплайнами
- •5.3.1 Построение кубического сплайна
- •5.4 Аппроксимация функций методом наименьших квадратов
- •6 Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений исистем дифференциальных уравнений
- •6.1 Семейство одношаговых методов решения задачи Коши
- •6.2 Многошаговые разностные методы решения задачи Коши для обыкновенных дифференциальных уравнений
- •Будем искать его решение в виде функции
- •6.3 Численное интегрирование жестких систем обыкновенных дифференциальных уравнений
- •6.4 Краевые задачи для обыкновенных дифференциальных уравнений
- •6.5 Решение линейной краевой задачи
- •Причем- для первой задачи.
- •6.6 Решение двухточечной краевой задачи для линейного уравнения второго порядка сведением к задаче Коши
- •Отсюда следует, что
- •6.7 Методы численного решения двухточечной краевой задачи для линейного уравнения второго порядка
- •Подставляя это выражение в уравнение (6.54), получим
- •7 Приближенное решение дифференциальных уравнений в частных производных
- •7.1 Метод сеток для решения смешанной задачи для уравнения параболического типа (уравнения теплопроводности)
- •Задано начальное условие
- •7.2 Решение задачи Дирихле для уравнения Лапласа методом сеток
- •7.3 Решение смешанной задачи для уравнения гиперболического типа методом сеток
- •Лабораторная работа № 1 Решение систем линейных алгебраических уравнений
- •Порядок выполнения лабораторной работы:
- •Текст программы:
- •Варианты заданий
- •Лабораторная работа № 3
- •Решение нелинейных уравнений и систем нелинейных уравнений
- •Порядок выполнения лабораторной работы:
- •Метод Леверрье
- •Метод Фадеева
- •Текст программы:
- •Метод Крылова
- •Метод qr-разложения
- •Текст программы:
- •Метод обратных итераций
- •Текст программы:
- •Варианты заданий
- •Вычисления по программе привели к следующим результатам:
- •Квадратурная формула Гаусса
- •Дифференцирование с помощью сплайнов
- •Список использованной литературы
Метод Леверрье
Входные параметры: n—целое положительное число, равное порядку n системы;
Выходные параметры: b—массив изnдействительных чисел, при выходе из программы содержит решение системы.
Пример. Вычислить собственные значения и собственные вектора матрицы
|2 2 –2|
|2 5 –4|
|-2 –4 5|
Текст программы:
PROCEDURE Liver (Var VeS:Tvector;Nn:Integer);;
Label 35,270,220,100,80,190,500,250,350,120,10;
Var
I,J,K,T:Integer; Y,Yy:tvector; {A,Aa:Mas;} S,C,Q,P,H,D,U,M,V,F,W,Yyy,Z,L,R,X,Aaa,B:Real;
Sq,Sq1: Real; F1: TEXT;
Begin
Assign(F1,'last.out');
Rewrite(F1);
For I:=Nn Downto 1 Do Y[i+1]:=VeS[i];
Y[1]:=1;
K:=1;
35: T:=1;
C:=Y[2]/Y[1];
If (Nn=1) Then Begin
P:=-C; Q:=0; Goto 270;
End;
If (Nn=2) Then Begin
H:=C*C/4-Y[3]/Y[1];
Goto 220;
End;
M:=10;C:=4;D:=8;U:=4;
V:=8;F:=1;W:=2;T:=0;
80: If(M<>10) Then Goto 100;
P:=C;M:=0;Q:=D;C:=U;D:=V;
U:=P;V:=Q;Yyy:=C;Z:=D;F:=-F;
100:M:=M+1;H:=0;Q:=Y[1];P:=Y[2]-C*Q;L:=Q;
120:For J:=3 To Nn Do Begin
R:=P;P:=Y[j]-C*R-D*Q;Q:=R;
R:=L;L:=Q-C*R-H*D;H:=R;
End;
Q:=Y[Nn+1]-D*Q;
S:=L+C*R;
If (T=0) Then Begin
X:=D*R;H:=R*X+S*L;
If H=0 Then Goto 80;
End;
C:=C+(P*S-Q*R)/H;
D:=D+(P*X+Q*L)/H;
If ((C-Yyy+D-Z)<>0) Then Goto 190;
If (F=-W) Then Begin writeln('Љ®аҐм Ґ ©¤Ґ');
Goto 500;
End;
W:=-F;
190:H:=C*C/4-D;
Sq:=Sqrt((Q-P*C/2)*(Q-P*C/2)+P*P*Abs(H));
If (Sq>0.0000001) Then Goto 80;
T:=0;
Y[2]:=Y[2]-C*Y[1];
For J:=3 To Nn-1 Do Begin
Y[j]:=Y[j]-C*Y[j-1]-D*Y[j-2];End;
220:P:=-C/2;
Q:=Sqrt(Abs(H));
If(h>=0) Then Begin
M:=P+Q;P:=P-Q;Q:=0;
Goto 250; End;
M:=P;
250:write(F1,'p',k,'=',m:9:4,' + i',q:7:4);K:=K+1;{Ves[k-1]:=M;}WriteLn(F1,'');
270:write(F1,'p',k,'=',p:9:4,' + i',-q:7:4);K:=K+1;{Ves[k-1]:=P;}WriteLn(F1,'');
If(t<>0) Then Goto 350;
Nn:=Nn-2;
Aaa:=0;
Sq1:=Sqrt((S-R*C/2)*(S-R*C/2)+R*R*Abs(H));
If (Sq1<=0.0000001) Then Aaa:=1;
B:=0;
If (Nn>=2) Then B:=1;
If((Aaa+B)=2) Then Begin
T:=1;
Goto 120; End; Goto 35;350:500:
Close(F1);
End;
Вычисления по программе привели к следующим результатам:
Собственные числа Собственные вектора
.10000Е+01 -.94281Е+00 .23570Е+00 -.23570Е+00
.10000Е+02 -.33333Е+00 -.66667Е+00 .66667Е+00
.10000Е+01 .00000Е+00 -.70711Е+00 -.70711Е+00
Варианты заданий для нахождения собственных значений и собственных векторов матрицы приведены в таблице 5.
Метод Фадеева
Входные параметры: n—целое положительное число, равное порядку n системы; а — массив изnхnдействительных чисел, содержащий входную матрицу.
Выходные параметры: q—массив изnдействительных чисел при выходе из программы содержит решение системы.
Схема алгоритма приведена на рисунке 23.
Пример. Вычислить собственные значения и собственные вектора матрицы
|2 2 –2|
|2 5 –4|
|-2 –4 5|
Текст программы:
procedureFadeev(n:integer;a:tmatr;varq:tvector);
var Aa,E,B:tmatr;
i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do if i<>j then e[i,j]:=0 else e[i,j]:=1;
Aa:=a;
q[1]:=spA(n,Aa);
MulChislo(n,q[1],e,b);
MatrVich(n,Aa,b,b);
for i:=2 to n do
begin
MulMatr(n,a,b,Aa);
q[i]:=-spA(n,Aa)/i;
MulChislo(n,q[i],e,b);
MatrVich(n,Aa,b,b);
end;
end;
Вычисления по программе привели к следующим результатам:
Собственные числа Собственные вектора
.10000Е+01 -.94281Е+00 .23570Е+00 -.23570Е+00
.10000Е+02 -.33333Е+00 -.66667Е+00 .66667Е+00
.10000Е+01 .00000Е+00 -.70711Е+00 -.70711Е+00

Рисунок 23 - Схема алгоритма метода Фадеева
Варианты заданий для нахождения собственных значений и собственных векторов матрицы приведены в таблице 5.
