Российский химико-технологический университет им. Д.И.Менделеева
Кафедра вычислительной математики
ОТЧЕТ
Методы Решения СЛАУ
Вариант 15
Выполнил: Михеев Д.И.. гр. И-24
Проверил: Епишкин А.П.
Москва 2006
Методы решения СЛАУ
-
Точные методы используют конечные алгоритмы. Их точность непредсказуема.
-
Метод с использованием обратной матрицы
; если - квадратная, совместная, определенная, то может существовать обратная матрица
т.к. , то
Метод полезен для многократного решения одного и того же СЛАУ с разными значениями свободных членов.
б) Метод Гаусса
Метод последовательного исключения неизвестных, состоящий из 2-х этапов:
прямого и обратного ходов
Во время первого этапа (прямой ход) метода Гаусса составляется расширенная матрица коэффициентов
; i =1, …, n
Алгоритм прямого хода состоит из R шагов. R=1,2,…, n-1. Каждый шаг – обнуление коэффициентов R-ого столбца, стоящих ниже элемента
, где i=R+1,…, n; j=R,…,n+1;
В итоге матрица представляет собой
Обратный ход
=>
Модификация методом Гаусса
На этапе прямого хода при делении на коэффициенты , которые называются ведущими, возможны ошибки при делении на малое число. Для уменьшения погрешностей рекомендуется в качестве ведущих коэффициентов использовать максимальные по модулю коэффициенты
Методы различают:
С частным выбором главного элемента С полным выбором главного элемента
Достоинство метода Гаусса – содержит минимальное количество операций.
2. Итерационные методы
Итерационные методы дают последовательность приближений к решению. Если метод сходится, то можно получить решения с заранее заданной точностью e.
Все итерационные методы дают последовательность приближений решений.
, где -какое-то начальное приближение
Если эта последовательность сходящаяся, то пределом этой последовательности является решение:
- условие окончания поиска решений
- решение с точностью
Метод простых итераций
Итерация – совокупность действий, которые позволяют из
приближения получить
- начальное приближение
- первая итерация
- вторая итерация
- R-ая итерация
- итерационная форма
-
Достаточное условие сходимости – проверка нормы матрицы
- достаточное условие сходимости, если одна из норм <1, то и все остальные <1
-
Выбор начального приближения(от него зависит количество итераций)
-
Итерация метода
-
Проверка условий окончания
Программа по методу Гаусса
Sub matrix()
Dim n%,i%,j%,R%,alf!,s!,a!(),x!()
n=cells(1,1)
Redim a(n,n+1), x(n)
For i=1 to n
For j=1 to n+1
a(i,j)=cells(i,j+3)
Next j
Next i
For R=1 to n-1
For i=R+1 to n
alf=-a(i,R)/a(R,R)
for j=R to n+1
a(i,j)=a(i,j) + alf*a(R,j)
Next j
Next i
Next R
x(n)=a(i,n+1)/a(n,n)
for i=n-1 to 1 step -1
s=0
for j=i+1 to n
s=s+a(i,j)*x(j)
Next j
x(i)=( a(i,n+1)-1)/a(i,i)
Next i
For i=1 to n
Cells(i+3,j)=x(i)
Next i
End sub
Ответ: x1= -15,9295
x2= -26,3104
x3= -3,6855
x4= -5,1667
Программа по методу простых итераций
Sub iter()
Dim n%,i%,j%,e!,a!(),x!(),x_next!(),c!(),norma!,s!,d!(),delta!
n=cells(1,2)
e=cells(2,2)
Redim a(n,n+1),c(n,n),d(n),x(n),x_next(n)
For i=1 to n
For j=1 to n+1
a(i,j)= cells(i,j+3)
Next j
Next i
For i=1 to n
For j=1 to n
If i<>j then
c(i,j)=-a(i,j)/a(i,i)
Else
c(i,j)=0
End if
Next j
Next i
s=0
For i=1 to n
For j=1 to n
s=s+c(i,j)^2
Next j
Next i
Norma=sqr(s)
Cells(6,2)=norma
If norma>1 then
Cells(7,2)=”Решений норма не имеет”
End if
For i=1 to n
S=0
For j=1 to n
s=s+c(i,j)*x(j)
Next j
x_next(i)=s
Next i
delta=0
for i=1 to n
delta=delta+(x_next(i)-x(i))^2
Next i
delta=sqr(delta)
For i=1 to n
x(i)=x_next(i) Ответы: x1=-17,8372
Next I x2=-8,3479
Loop while delta>e x3=19,4374
For i=1 to n x4=-18,067
Cells(7+I,2)=x(i)
Next i
End sub