Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Метод простой итерации. Функцию r(x,y), определяющую расстояние между точками x и y множества X назовем метрикой, если
Функцию r (x, y), определяющую расстояние между точками x и y множества X назовем метрикой, если 1) r (x, y)³ 0 2) r (x, y)=0 x=y 3) r (x, y)= r (y, x) 4) r (x, y)£ r (x, z)+ r (z, y). Множество X с введенной метрикой r назовем метрическим пространством. Последовательность точек метрического пространства называется фундаментальной, если . Пространство называется полным, если в нем любая фундаментальная последовательность сходится. Отображение F пространства E в себя называется сжимающим, если x – неподвижная точка, если F(x)=x. Оценка расстояния между неподвижной точкой и приближением x (k) производится следующим образом: или . Таким образом, чтобы погрешность вычислений была меньше наперед заданного числа ε, достаточно потребовать . Рассмотрим 3 типа метрики. Пусть x(x1, x2, …, xn) и y(y1, y2, …, yn) – две точки n -мерного пространства. I. Максимальная из сумм модулей коэффициентов при неизвестных в правой части системы, взятых по строкам, должна быть меньше единицы: II. Максимальная из сумм модулей коэффициентов при неизвестных в правой части системы, взятых по столбцам, должна быть меньше единицы: III. Корень квадратный из суммы квадратов коэффициентов при неизвестных в правой части системы, должен быть меньше единицы: СЛУ преобразуется таким образом, чтобы по одной из метрик выполнялось α < 1. При этом СЛУ задает отображение, которое при α < 1 будет сжимающим. Значит, взяв любую точку в качестве начального приближения, получим последовательность точек, которая будет сходиться к неподвижной точке; это точка и будет решением системы. Чтобы привести СЛУ к итерационному виду нужно: 1) с помощью равносильных преобразований привести систему к виду с преобладающими диагональными коэффициентами (по абсолютной величине); 2) разделить все уравнения на соответствующие диагональные коэффициенты и выразить из каждого уравнения неизвестное с коэффициентом, равным единице. Если для этой системы α < 1, то система задает сжимающее отображение. Рассмотрим на примере: Решим систему трех линейных уравнений с тремя неизвестными. Преобразуем систему к итерационному виду, для чего поменяем местами 1-ую строку со 2-ой, после чего каждую строку разделим на соответствующие диагональные элементы. Проверим, будет ли отображение сжимающим: Запишем формулы для решения системы методом итераций:
Программа решения системы трех линейных уравнений с тремя неизвестными методом простой итерации (с евклидовой метрикой): program slu_iter; var p, b, x1, x2, x3, y1, y2, y3, a, e: real; N: integer; begin write('Введите x1, x2, x3: '); readln(x1, x2, x3); write('Введите A, E: '); readln(a, e); b: =e*(1-a)/a; N: =0; {число итераций} Repeat N: =N+1; y1: = 0.1362*x2-0.1790*x3+16.1433; y2: =-0.2238*x1+0.0909*x3+25.3154; y3: = 0.1739*x1+0.2875*x2+21.3777; p: =sqrt(sqr(x1-y1)+sqr(x2-y2)+sqr(x3-y3)); x1: =y1; x2: =y2; x3: =y3; until p< =b; writeln('x1 = ', x1: 8: 6); writeln('x2 = ', x2: 8: 6); writeln('x3 = ', x3: 8: 6); writeln('Число итераций - N = ', N); readln end.
|