КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Метод Зейделя
0.9672 2.2930 0.7787 1.0119 0.9636 0.2016 -0.3626 0 0.5131 0 -0.2656 0 -0.6493 -0.0336
5. Задать вектор-столбец свободных членов
>> b=[-0.800995;-5.7352459;-1.2411714] b = -0.8010 -5.7352 -1.2412
6. Вычислить значения коэффициентов a для каждого метрического пространства
>> alpha=Check(A) alpha =
7. Найти решения системы линейных уравнений
>> LS_Iter(A,b,'Ro1',alpha(1),10^-6) ans = -4.8155
При решении системы линейных уравнений вычислительные формулы имеют вид: (3.27) где . Из (3.27) видно, что в методе простой итерации для получения нового значения вектора решений на i +1-ом шаге используются значения переменных, полученные на предыдущем шаге. Основная идея метода Зейделя состоит в том, что на каждом шаге итерационного процесса при вычислении значения переменной учитываются уже найденные значения : (3.28) Достаточные условия сходимости итерационного процесса (3.23)-(3.25) также являются достаточным условиями сходимости метода Зейделя. Существует возможность автоматического преобразования исходной системы к виду, обеспечивающему сходимость итерационного процесса метода Зейделя. Для этого умножим левую и правую части системы (3.2) на транспонированную матрицу системы AT, получим равносильную систему , (3.29) где , . Система (3.29) называется нормальной системой уравнений. Нормальные системы уравнений обладают рядом свойств, среди которых можно выделить следующие: 1) матрица C коэффициентов при неизвестных нормальной системы является симметрической (т.е. , ); 2) все элементы, стоящие на главной диагонали матрицы C положительны (т.е. , ). Последнее свойство дает возможность «автоматически» приводить нормальную систему (3.29) к виду, пригодному для итерационного процесса Зейделя: (3.30) где , (3.31) и . (3.32) Целесообразность приведения системы к нормальному виду и использования метода Зейделя вытекает из следующей теоремы: Теорема 3.2. Итерационный процесс метода Зейделя для приведенной системы (3.30), эквивалентной нормальной системе (3.29), всегда сходится к единственному решению этой системы при любом выборе начального приближения [2]. Таким образом решение произвольной системы линейных уравнений вида (3.1) методом Зейделя реализуется в соответствие со следующим алгоритмом: 1. Ввод матрицы А коэффициентов исходной системы и вектор-столбца свободных членов. 2. Приведение системы к нормальной умножением обеих частей системы на транспонированную матрицу А T. 3. Приведение нормальной системы к виду, пригодному для итерационного процесса Зейделя (3.30), (3.31). 4. Задание требуемой точности решения. 5. Циклическое выполнение итерационного процесса до достижения требуемой точности. Для реализации метода Зейделя в пакете MATLAB необходимо: 1. Создать файл Zeidel.m, содержащий описание функции, выполняющей последовательно: а) приведение системы к нормальному виду; б) приведение нормальной системы к виду, пригодному для итерационного процесса Зейделя; в) реализацию итерационного процесса Зейделя. % листинг файла Zeidel.m function [z1,z2]=Zeidel(A,b,eps) N=size(A,1); % приведение системы к нормальному виду C=A'*A; D=A'*b; % приведение системы к виду пригодному для итерационного процесса % Зейделя for i=1:N D1(i)=D(i)/C(i,i); end; D1=D1'; % транспонирование матрицы d1=D1; for i=1:N for j=1:N if i==j C1(i,j)=0;
Дата добавления: 2014-01-06; Просмотров: 805; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |