Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Метод простых итераций и метод Зейделя ⇐ ПредыдущаяСтр 2 из 2
Для решения СЛАУ итерационными метода преобразуем систему от формы (2.1.1) к виду (2.4.1): (2.4.1) В общем виде рекуррентная форма для i уравнения имеет вид (2.4.2): (2.4.2) Задав столбец начальных приближений подставим их в правые части системы (2.4.1) и вычислим новые приближения , которые опять подставим в систему (2.4.1) и т.д. Это можно представить в таком виде (2.4.3): (2.4.3) Процесс (2.4.3) можно видоизменить, если использовать приближения к решениям, найденными при выполнении текущей итерации. Такое изменение известно как метод Зейделя, и как правило, приводит к ускорению сходимости (2.4.4): (2.4.4)
Заканчивается итерационный процесс, когда выполняется условия (2.4.5): (2.4.5) где - заданная погрешность, . Для сходимости итерационных методов необходимо, чтобы значения диагональных элементов матрицы СЛАУ были преобладающими по абсолютной величине по сравнению с другими элементами (2.4.6): (2.4.6) для каждой i – строки. Условие сходимости можно обеспечить преобразованием исходной матрицы путем перестановки уравнений и неизвестных. Методы Зейделя и простых итераций имеют разные области сходимости. Программный код для метода простых итераций: do{ flag=0; for(i=0; i< n; i++) x[i]=x1[i]; for(i=0; i< n; i++) { s=a[i][n]; for(j=0; j< n; j++) s = s+a[i][j]*x[j]; s=s/a[i][i]; s=s+x[i]; x1[i]=s; } for(i=0; i< n & & flag==0; i++) if((fabs(x1[i]-x[i])> e) flag==1; }while(flag==1);
|