Исследование метода простой итерации для решения систем линейных алгебраических уравнений
Влияние способа перехода от системы F(x)=x к системе x=ф(x) на точность полученного решения. Общее описание программного обеспечения и алгоритмов. Функциональное назначение программы. Программный модуль metod1.m и metod2.m. Описание тестовых задач.
Рубрика | Математика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 27.04.2011 |
Размер файла | 591,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1
Министерство науки и образования РФ
Новосибирский государственный технический университет
Кафедра экономической информатики
Пояснительная записка к курсовой работе на тему
"Исследование метода простой итерации для решения систем линейных алгебраических уравнений"
Новосибирск
2004
Содержание
1. Введение
2. Математическая постановка задачи и описание метода
3. Описание программного обеспечения
3.1 Общие сведения
3.2 Функциональное назначение программы
3.3 Вызов и загрузка программы
3.4 Входные данные
3.5 Выходные данные
3.6 Описание алгоритмов
3.6.1 Программный модуль metod1.m
3.6.2 Программный модуль metod2.m
3.7 Используемые программные и технические средства
4. Описание тестовых задач
5. Анализ результатов счета, выводы
6. Заключение
Приложение 1
Приложение 2
Приложение 3
Список литературы
1. Введение
В данной курсовой работе необходимо рассмотреть один из множества существующих итерационных методов - метод простой итерации для решения систем линейных алгебраических уравнений.
Прежде чем говорить о вышеуказанном методе, дадим краткую характеристику вообще итерационным методам.
Итерационные методы дают возможность найти решение системы, как предел бесконечного вычислительного процесса, позволяющего по уже найденным приближениям к решению построить следующее, более точное приближение. Привлекательной чертой таких методов является их самоисправляемость и простота реализации на ЭВМ. Если в точных методах ошибка в вычислениях, когда она не компенсируется случайно другими ошибками, неизбежно ведет к ошибкам в результате, то в случае сходящегося итерационного процесса ошибка в каком-то приближении исправляется в последующих вычислениях, и такое исправление требует, как правило, только нескольких лишних шагов единообразных вычислений. Итерационный метод, для того чтобы начать по нему вычисления, требует знания одного или нескольких начальных приближений к решению.
Условия и скорость сходимости каждого итерационного процесса существенно зависят от свойств уравнений, то есть от свойств матрицы системы, и от выбора начальных приближений.
2. Математическая постановка задачи и описание метода
2.1 Математическая постановка задачи
Исследовать метод простой итерации для решения систем линейных алгебраических уравнений, а именно: влияние способа перехода от системы F(x)=x к системе x=(x) на точность полученного решения, скорость сходимости метода, время счета, число операций.
2.2 Описание метода
Пусть дана система линейных алгебраических уравнений в виде Ax=b (2.2.1).
Пусть (2.2.1.) приведена каким-либо образом к виду x=Cx+f (2.2.2), где C - некоторая матрица, f - вектор-столбец. Исходя из произвольного вектора
x01
x( 0 )= x02
…
x03
строим итерационный процесс x( k+1 )=Cx( k )+f (k=0,1,2,3,…) или в развернутой форме
x1 ( k+1 ) = c11 x1( k ) + c12 x2( k ) + …+ c1n xn( k ) + f1 ,
xn ( k+1 ) = cn1 x1( k ) + cn2 x2( k ) + …+ 1nn xn( k ) + fn .
Производя итерации, получим последовательность векторов x( 1 ), x( 2 ),…, x( k ),…
Доказано, что если элементы матрицы C удовлетворяют одному из условий
(i=1,2,…,n) (2.2.4)
или
(j=1,2,…,n) (2.2.5),
то процесс итерации сходится к точному решению системы x при любом начальном векторе x(0), то есть
x=x( k ).
итерация линейное алгебраическое уравнение
Таким образом, точное решение системы получается лишь в результате бесконечного процесса, и всякий вектор x(k) из полученной последовательности является приближенным решением. Оценка погрешности этого приближенного решения x(k) дается одной из следующих формул:
| xi - xi( k ) | | xi( k ) - xi( k -1 )|, (2.2.4')
если выполнено условие (2.2.4), или
| xi - xi( k ) | | xi( k ) - xi( k -1 )|, (2.2.5')
если выполнено условие (2.2.5). Эти оценки можно еще усилить соответственно так:
max | xi - xi( k ) | | xi( k ) - xi( k -1 )|, (2.2.4'')
или
| xi - xi( k ) | | xi( k ) - xi( k -1 )|. (2.2.5'')
Процесс итераций заканчивают, когда указанные оценки свидетельствуют о достижении заданной точности.
Начальный вектор x( 0 ) может быть выбран, вообще говоря, произвольно. Иногда берут x( 0 )=f. Однако, наиболее целесообразно в качестве компонент вектора x( 0 ) взять приближенные значения неизвестных, полученные грубой прикидкой.
Приведение системы (2.2.1) к виду (2.2.2) можно осуществить различными способами. Важно только, чтобы выполнялось одно из условий (2.2.4) или (2.2.5). Ограничимся рассмотрением двух таких способов.
Первый способ. Если диагональные элементы матрицы А отличны от нуля, то есть
aii0 ( i=1,2,…,n),
то систему (2.2.1) можно записать в виде
x1= (b1 - a12 x2 - … - a1n xn ),
x2= (b2 - a21 x1 - a23 x3 -… - a2n xn ), (2.2.6)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xn= (bn - an1 x1 - … - an n-1 xn-1 ).
В этом случае элементы матрицы С определяются следующим образом
(ij), cii=0,
и тогда условия (2.2.4) и (2.2.5) соответственно приобретают вид
(i=1,2,… ,n), (2.2.7)
(j=1,2,… ,n). (2.2.8)
Неравенства (2.2.7), (2.2.8) будут выполнены, если диагональные элементы матрицы А удовлетворяют условию
(i=1,2,… ,n), (2.2.9)
то есть если модули диагональных коэффициентов для каждого уравнения системы больше суммы модулей всех остальных коэффициентов (не считая свободных членов).
Второй способ позволяет записать систему (2.2.1) в виде
x1 = b1 - (a11 -1)x1 - a12 x2 - … - a1n xn ,
x2 = b2 - a21 x1 -(a22 -1)x2 -… - a2n xn , (2.2.10)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xn = bn - an1 x1 - an2 x2 - … -(ann -1)xn .
и пояснений не требует.
3. Описание программного обеспечения
3.1 Общие сведения
Данное программное обеспечение представлено в виде двух основных программных модулей (файлы metod1.m и metod2.m) и четырех вспомогательных модулей (файлы system_a.m, system_b.m, x0.m и x_ok.m).
3.2 Функциональное назначение программы
Данное программное обеспечение предназначено для решения систем линейных алгебраических уравнений вида Ax=b методом простой итерациии.
Программный модуль metod1.m содержит непосредственно алгоритм решения систем линейных алгебраических уравнений методом простой итерациии, использующий первый способ перехода от системы вида F(x)=x к системе вида x=(x) (см. п.2.2.).
Программный модуль metod2.m также содержит непосредственно алгоритм решения систем линейных алгебраических уравнений методом простой итерациии, но использующий второй способ перехода от системы вида F(x)=x к системе вида x=(x) (см. п.2.2.).
Вспомогательный модуль system_a.m содержит матрицу А исходной системы линейных алгебраических уравнений вида Ax=b.
Вспомогательный модуль system_b.m содержит столбец b исходной системы линейных алгебраических уравнений вида Ax=b.
Вспомогательный модуль x0.m содержит столбец начального приближения к точному решению исходной системы линейных алгебраических уравнений вида Ax=b.
Вспомогательный модуль x_ok.m содержит столбец точного решения исходной системы линейных алгебраических уравнений вида Ax=b.
Замечание: модули system_a.m, system_b.m, x0.m всегда описывает сам пользователь, работающий с данным программным обеспечением, в зависимости от решаемой системы линейных алгебраических уравнений.
Модуль x_ok.m также может быть описан пользователем, но он не является обязательным, так как точного решения обычно у пользователя нет. Отсутствие данного модуля не влияет на правильность работы программы, он является вспомогательным и необходим лишь для оценки погрешности полученного решения (как этого требует задание), но что обычно не нужно в прикладном использовании данного программного обеспечения.
3.3 Вызов и загрузка программы
Для вызова программы на выполнение необходимо загрузить программу MatLab 3.5f (и выше), затем в командной строке данной среды набрать имя одного из пррограммных модулей (metod1.m или metod2.m).
3.4 Входные данные
1. system_а - матрица А исходной системы линейных алгебраических уравнений вида Ax=b, считывающаяся из модуля system_а.m;
2. system_b - столбец b исходной системы линейных алгебраических уравнений вида Ax=b, считывающийся из модуля system_b.m;
3. x0 - столбец начальных приближений, считывающийся из модуля x0.m;
4. x_ok - столбец точного решения исходной системы линейных алгебраических уравнений вида Ax=b, считывающийся из модуля x_ok.m.
Замечание: если отсутствует модуль x_ok.m, то переменная x_ok не передается в основные программные модули.
3.5 Выходные данные
Выходными данными программных модулей metod1.m и metod2.m является файл total - файл-отчет, содержащий результаты одного или нескольких итерационных процессов, а именно: полученные решения, погрешности полученного решения, скорость сходимости метода, время счета, число операций.
3.6 Описание алгоритмов
3.6.1 Программный модуль metod1.m
Исходный текст модуля metod1.m представлен в Приложении1.
Сначала производится инициализация переменных result (решение системы линейных алгебраических уравнений), temp (промежуточные значения решения системы линейных алгебраических уравнений на каждом шаге итерации), size_system (размерность системы), flag (флаг для остановки итерационного процесса), edop1 (абсолютное значение k-го и (k+1)-го решения), number_iter (количество итераций), time (время счета), number_oper (количество операций), a (матрица А системы Ax=b), b (столбец b системы Ax=b). После этого на дисплей выводится запрос допустимой погрешности. Когда погрешность введена, происходит очистка экрана, обнуление встроенного в MatLab счетчика операций с плавающей точкой, запоминание текущего момента времени.
Далее, после этих приготовлений запускается цикл перехода от системы вида F(x)=x к системе вида x=(x) первым способом (см. п.2.2.) и решения системы линейных алгебраических уравнений методом простой итерации. Блок-схема цикла представлена на рис.1.
Как только заканчивается цикл итераций, происходит повторное запоминание текущего момента времени и количества операций с плавающей точкой. По окончании данных действий происходит подсчет времени счета, как разности ранее запомненных моментов времени. Далее происходит запись полученного решения в файл total.
Далее производится проверка, существует ли файл x_ok.m. Если таковой имеется, то высчитывается погрешность полученного решения и записывается в файл total.
После вышеописанных действий происходит последняя запись в файл total сведений о количестве шагов, необходимых для сходимости метода, времени счета, числе операций.
Затем происходит подготовка масштаба будущего графика итерационного процесса и непосредственно его построение, после которого выполнение программы прерывается до нажатия любой клавиши.
И наконец, когда какая-либо клавиша будет нажата, произойдет очистка экрана и построение графиков зависимости погрешности от шага итерации.
Рис.1 Блок-схема итерационного процесса, реализованного в модуле METOD1.M
3.6.2 Программный модуль metod2.m
Исходный текст модуля metod2.m представлен в Приложении1.
Алгоритм данного программного модуля аналогичен алгоритму модуля metod1.m. Единственное отличие - реализация цикла перехода от системы вида F(x)=x к системе вида x=(x) (см. п.2.2.) и решения системы линейных алгебраических уравнений методом простой итерации. Блок-схема цикла представлена на рис.2.
Рис.2 Блок-схема итерационного процесса, реализованного в модуле METOD2.M
3.7 Используемые программные и технические средства
Все модули данного программного обеспечения написаны на языке MatLab в редакторе Norton Editor из комплекса утилит Norton Utilities 8.0.
Для правильной работы программ metod1 и metod2 необходима операционная система MS DOS (любой версии) или операционная система Windows95, программа MatLab 3.5f (или выше), а также персональный компьютер, совместимый с IBM PC 386SX (или выше).
4. Описание тестовых задач
В качестве тестовых задач рассмотрим две системы линейных алгебраических уравнений :
Cистема1
1,02x1 - 0,25x2 - 0,30 x3 =0,515
-0,41x1 + 1,13x2 - 0,15x3 =1,555 (4.1)
-0,25x1 - 0,14x2 + 1,21x3 =2,780
Точное решение: x1 =2,0 ; x2 =2,5 ; x3 =3,0 .
В качестве начального приближения x(0) возьмем два вектора: x(0)=(1000,1000,1000); x( 0 )=(1,1,1).
Система2
0,22x1 + 0,02x2 + 0,12x3 + 0,13x4 = -3
0,02x1 + 0,14x2 + 0,04x3 - 0,06x4 = 14
0,12x1 + 0,04x2 + 0,28x3 + 0,08x4 = 250 (4.2)
0,14x1 - 0,06x2 + 0,08x3 + 0,26x4 = -77
Точного решения нет.
В качестве начального приближения x(0) возьмем два вектора: x(0)=(0,10,20,30); x( 0 )=(-270,-503,1260,-653 ).
Все вычисления будем проводить при заданной точности =0.001 .
5. Анализ результатов счета, выводы
Результаты вычислений тестовых систем линейных алгебраических уравнений представлены в виде файлов-отчетов, которые приведены в Приложении2, а также в виде графиков итерационных процессов и графиков зависимостей погрешностей решений исходных систем линейных алгебраических уравнений от шага итерации, которые приведены в Приложении3.
Анализируя эти результаты, можно сделать следующие выводы.
Во-первых, количество итераций сильно зависит от матрицы А исходной системы уравнений вида Ax=b. Чем ближе диагональные элементы матрицы А к нулю, тем больше итераций требуется для того, чтобы решить исходную систему линейных алгебраических уравнений.
Во-вторых, на количество шагов влияет начальное приближение. Чем оно ближе к точному решению, тем меньше требуется шагов для сходимости метода. Следует отметить, что в рассматриваемых примерах достаточно точное начальное приближение требует количества итераций приблизительно в 1,7-2,0 раза меньше, чем произвольное, достаточно далеко отстоящее от точного решения, приближение.
В-третьих, скорость сходимости метода зависит от того, каким способом реализован переход от системы вида F(x)=x к системе вида x=(x).
Анализ счета показывает, что если диагональные элементы матрицы А не близки к нулю, то при любом приближении (достаточно точном и не очень) количество шагов, требующихся для сходимости метода, практически не зависит от способа перехода от системы вида F(x)=x к системе вида x=(x). А если элементы диагонали матрицы A близки к нулю и приближение недостаточно точное, то метод сходится быстрее, если в нем реализован первый способ перехода от системы вида F(x)=x к системе вида x=(x) (см. п.2.2.).
Число операций для решения исходной системы линейных алгебраических уравнений при использовании первого способа перехода требуется несколько меньше, чем для решения исходной системы линейных алгебраических уравнений при использовании второго способа перехода. Это удалось выяснить при решении системы
(4.1) при приближении x( 0 )=(1,1,1), так как в этом случае для обоих способов потребовалось одинаковое количество шагов для сходимости и одинаковое время счета, но различное число операций с плавающей точкой.
Время счета, как видно из результатов решения систем (4.1) и (4.2) линейно зависит от количества шагов и числа операций. Чем показатели последних выше, тем больше время счета.
Наконец, погрешности полученных решений, как видно из файла-отчета, не превышает заданную погрешность .
Исходя из тестовых систем линейных алгебраических уравнений и результатов их решения, можно сделать следующие выводы.
Метод простой итерации (при любом способе перехода от системы вида F(x)=x к системе вида x=(x) ) сходится быстро, если диагональные элементы матрицы А системы Ax=b близки к единице, а остальные - близки к нулю, и приближение достаточно близко к точному решению. Но при решении систем Ax=b с матрицей А, отличной от вышеописанной, метод сходится при первом способе перехода более быстро в случае, если начальное приближение далеко отстоит от точного решения, а если приближение достаточно близко лежит к точному решению, то при втором способе перехода метод сходится несколько быстрее, чем при первом.
Итак, можно сказать, что применение в прикладных задачах данного метода оправданно, но выбор перехода к системе x=(x) зависит от типа конкретной решаемой системы линейных алгебраических уравнений.
6. Заключение
В данной курсовой работе был реализован метод простой итерации для решения систем линейных алгебраических уравнений в виде двух программ, каждая из которых использует свой собственный способ перехода от системы вида F(x)=x к системе вида x=(x).
Вообще говоря, метод простой итерации не отличается повышенной сходимостью (может вообще не сойтись), но если он сходится, то этот метод обычно имеет высокую точность счета и достаточно высокую скорость сходимости. Следует отметить, что все вышеперечисленное зависит от самой исходной системы Ax=b и способа перехода к системе вида x=(x). Если метод не сходится, значит не соблюдаются условия сходимости метода или используется неудачный переход к системе x=(x).
Приложение 1
Модуль METOD1.M
result=x0';
temp=x0';
size_system=size(system_a);
flag=ones(size_system(1),1);
edop1=zeros(1,size_system(1));
number_iter=0;
time=0;
number_oper=0;
a=system_a;
b=system_b;
%format long;
edop=input('Введите погрешность:');
clc;
flops(0);
t1=clock;
while any(flag)
for i=1:size_system(1)
temp(i)=b(i)/a(i,i);
for ii=1:size_system(1)
if (i~=ii)
temp(i)=temp(i)-a(i,ii)/a(i,i)*result(number_iter+1,ii);
end;
end;
e(i)=abs(result(number_iter+1,i)-temp(i));
if e(i)<=edop
flag(i)=0;
else flag(i)=1;
end;
end;
edop1=[edop1;e];
result=[result;temp];
number_iter=number_iter+1;
end;
t2=clock;
number_oper=flops;
time=etime(t2,t1);
res=result';
v=size(res);
fprintf('total','\nРезультаты итерационного процесса, реализованного первым способом\n');
for i=1:size_system(1)
fprintf('total','\nX%g равен:',i);
fprintf('total','%g',res(i,v(2)));
end;
if exist('x_ok')==2
dy=abs(x_ok-res(:,v(2)));
for i=1:size_system(1)
fprintf('total','\nПогрешнось корня Х%g равна:',i);
fprintf('total','%g',dy(i));
end;
end;
fprintf('total','\nМетод сходится при первом способе за %g шагов',number_iter);
fprintf('total','\nВремя счета для первого способа: %g',time);
fprintf('total','\nЧисло операций при решении первым способом: %g\n',number_oper);
iter=0:number_iter;
m=[max(x0'),max(res(:,v(2)))];
n=[min(x0'),min(res(:,v(2)))];
miny=min(n);maxy=max(m);
ax=[0,number_iter,miny,maxy];
axis(ax);
for i=1:size_system(1)
plot(iter,result(:,i));
hold on;
title('Graph of iter. process by first metod');
end;
pause;
clg;
hold off;
for i=1:size_system(1)
plot(iter,edop1(:,i));
title('Graph of E(m) by first metod');
pause;
end;
clc;
Модуль METOD2.M
result=x0';
temp=x0';
size_system=size(system_a);
flag=ones(size_system(1),1);
edop1=zeros(1,size_system(1));
number_iter=0;
time=0;
number_oper=0;
a=system_a;
b=system_b;
%format long;
edop=input('Введите погрешность:');
clc;
flops(0);
t1=clock;
while any(flag)
for i=1:size_system(1)
temp(i)=b(i);
for ii=1:size_system(1)
if (i~=ii)
temp(i)=temp(i)-a(i,ii)*result(number_iter+1,ii);
else temp(i)=temp(i)-(a(i,ii)-1)*result(number_iter+1,ii);
end;
end;
e(i)=abs(result(number_iter+1,i)-temp(i));
if e(i)<=edop
flag(i)=0;
else flag(i)=1;
end;
end;
edop1=[edop1;e];
result=[result;temp];
number_iter=number_iter+1;
end;
t2=clock;
number_oper=flops;
time=etime(t2,t1);
res=result';
v=size(res);
fprintf('total','\nРезультаты итерационного процесса, реализованного вторым способом\n');
for i=1:size_system(1)
fprintf('total','\nX%g равен:',i);
fprintf('total','%g',res(i,v(2)));
end;
if exist('x_ok')==2
dy=abs(x_ok-res(:,v(2)));
for i=1:size_system(1)
fprintf('total','\nПогрешнось корня Х%g равна:',i);
fprintf('total','%g',dy(i));
end;
end;
fprintf('total','\nМетод сходится при втором способе за %g шагов',number_iter);
fprintf('total','\nВремя счета для второго способа: %g',time);
fprintf('total','\nЧисло операций при решении вторым способом: %g\n',number_oper);
iter=0:number_iter;
m=[max(x0'),max(res(:,v(2)))];
n=[min(x0'),min(res(:,v(2)))];
miny=(min(n));maxy=(max(m));
ax=[0,number_iter,miny,maxy];
axis(ax);
for i=1:size_system(1)
plot(iter,result(:,i));
hold on;
title('Graph of iter. process by second metod');
end;
pause;
clg;
hold off;
for i=1:size_system(1)
plot(iter,edop1(:,i));
title('Graph of E(m) by second metod');
pause;
end;
clc;
Один из вариантов модуля SYSTEM_A.M
function [F]=system_a();
F=[1.02,-0.25,-0.30;
-0.41,1.13,-0.15;
-0.25,-0.14,1.21];
Один из вариантов модуля SYSTEM_B.M
function [F]=system_b();
F=[0.515;1.555;2.780];
Один из вариантов модуля X0.M
function [F]=x0();
F=[1000;1000;1000];
Один из вариантов модуля X_OK.M
function [F]=x_ok();
F=[2.0;2.5;3.0];
Приложение 2
Файл TOTAL результатов решения системы (4.1) с x( 0 )=(1000,1000,1000)
Результаты итерационного процесса, реализованного первым способом
X1 равен:2.00077
X2 равен:2.50077
X3 равен:3.00054
Погрешнось корня Х1 равна:0.000767669
Погрешнось корня Х2 равна:0.000771614
Погрешнось корня Х3 равна:0.000544976
Метод сходится при первом способе за 18 шагов
Время счета для первого способа: 0.05
Число операций при решении первым способом: 612
Результаты итерационного процесса, реализованного вторым способом
X1 равен:2.00037
X2 равен:2.50004
X3 равен:3.00008
Погрешнось корня Х1 равна:0.000370626
Погрешнось корня Х2 равна:3.92304e-005
Погрешнось корня Х3 равна:7.93105e-005
Метод сходится при втором способе за 17 шагов
Время счета для второго способа: 0.06
Число операций при решении вторым способом: 629
Файл TOTAL результатов решения системы (4.1) с x( 0 )=(1,1,1)
Результаты итерационного процесса, реализованного первым способом
X1 равен:1.99939
X2 равен:2.49937
X3 равен:2.99956
Погрешнось корня Х1 равна:0.000609367
Погрешнось корня Х2 равна:0.000630859
Погрешнось корня Х3 равна:0.000441667
Метод сходится при первом способе за 10 шагов
Время счета для первого способа: 0.06
Число операций при решении первым способом: 340
Результаты итерационного процесса, реализованного вторым способом
X1 равен:2.00002
X2 равен:2.4996
X3 равен:2.99979
Погрешнось корня Х1 равна:2.32305e-005
Погрешнось корня Х2 равна:0.000402933
Погрешнось корня Х3 равна:0.000207955
Метод сходится при втором способе за 10 шагов
Время счета для второго способа: 0.06
Число операций при решении вторым способом: 370
Файл TOTAL результатов решения системы (4.2) с x( 0 )=( -270,-503,1260,-653)
Результаты итерационного процесса, реализованного первым способом
X1 равен:-271.808
X2 равен:-505.362
X3 равен:1269.24
X4 равен:-656.953
Метод сходится при первом способе за 79 шагов
Время счета для первого способа: 0.55
Число операций при решении первым способом: 4819
Результаты итерационного процесса, реализованного вторым способом
X1 равен:-271.82
X2 равен:-505.348
X3 равен:1269.24
X4 равен:-656.941
Метод сходится при втором способе за 72 шагов
Время счета для второго способа: 0.55
Число операций при решении вторым способом: 4392
Файл TOTAL результатов решения системы (4.2) с x( 0 )=( 0,10,20,30)
Результаты итерационного процесса, реализованного первым способом
X1 равен:-271.809
X2 равен:-505.362
X3 равен:1269.24
X4 равен:-656.954
Метод сходится при первом способе за 122 шагов
Время счета для первого способа: 0.93
Число операций при решении первым способом: 7442
Результаты итерационного процесса, реализованного вторым способом
X1 равен:-271.821
X2 равен:-505.348
X3 равен:1269.24
X4 равен:-656.94
Метод сходится при втором способе за 153 шагов
Время счета для второго способа: 1.32
Число операций при решении вторым способом: 9333
Приложение 3
График итерационного процесса на примере решения системы (4.1) с
x( 0 )=(1000,1000,1000) программой METOD1
График итерационного процесса на примере решения системы (4.1) с
x( 0 )=(1000,1000,1000) программой METOD2
График итерационного процесса на примере решения системы (4.1) сx(0)=(1,1,1) программой METOD1
График итерационного процесса на примере решения системы (4.1) с x(0)=(1,1,1) программой METOD2
График итерационного процесса на примере решения системы (4.2) с
x( 0 )=(0,10,20,30) программой METOD1
График итерационного процесса на примере решения системы (4.2) с x(0)=(0,10,20,30) программой METOD2
График итерационного процесса на примере решения системы (4.2) с x(0)=(-270,-503,1260,-653) программой METOD1
График итерационного процесса на примере решения системы (4.2) с x(0)=( -270,-503,1260,-653) программой METOD2
Графики зависимостей погрешностей решений системы (4.1) от шага итерации при использовании программы METOD1.M и при x(0)=(1000,1000,1000)
Графики зависимостей погрешностей решений системы (4.1) от шага итерации при использовании программы METOD1.M и при x(0)=(1,1,1)
Графики зависимостей погрешностей решений системы (4.1) от шага итерации при использовании программы METOD2.M и при x(0)=(1,1,1)
Графики зависимостей погрешностей решений системы (4.2) от шага итерации при использовании программы METOD1.M и при x(0)=(-270,-503,1260,-653)
Графики зависимостей погрешностей решений системы (4.2) от шага итерации при использовании программы METOD1.M и при x(0)=(0,10,20,30)
Графики зависимостей погрешностей решений системы (4.2) от шага итерации при использовании программы METOD2.M и при x(0)=(0,10,20,30)
Список литературы
Копченова Н.В., Марон И.А. Вычислительная математика в примерах и задачах.- М.: Наука, 1972
Крылов В.И., Бобков В.В., Монастырский П.И. Вычислительные методы.- М.: Наука, 1976
Сарычева О.М. Численные методы в экономике.- Новосибирск, 1995
Размещено на Allbest.ru
Подобные документы
Сравнение методов простой итерации и Ньютона для решения систем нелинейных уравнений по числу итераций, времени сходимости в зависимости от выбора начального приближения к решению и допустимой ошибки. Описание программного обеспечения и тестовых задач.
курсовая работа [3,1 M], добавлен 26.02.2011Анализ метода простой итерации для решения систем линейных алгебраических уравнений и реализация его в виде двух программ, каждая из которых использует свой собственный способ перехода от системы одного вида к другому. Программные и технические средства.
курсовая работа [497,8 K], добавлен 27.03.2011Метод Зейделя как модификация метода простой итерации. Особенности решения систем линейных алгебраических уравнений. Анализ способов построения графика функций. Основное назначение формул Симпсона. Характеристика модифицированного метода Эйлера.
контрольная работа [191,3 K], добавлен 30.01.2014Разработка программного обеспечения для решения нелинейных систем алгебраических уравнений методом дифференцирования по параметру и исследование влияние метода интегрирования на точность получаемого решения. Построение графиков переходных процессов.
курсовая работа [619,3 K], добавлен 26.04.2011Понятие и специфические черты системы линейных алгебраических уравнений. Механизм и этапы решения системы линейных алгебраических уравнений. Сущность метода исключения Гаусса, примеры решения СЛАУ данным методом. Преимущества и недостатки метода Гаусса.
контрольная работа [397,2 K], добавлен 13.12.2010Методы решения систем линейных алгебраических уравнений (СЛАУ): Гаусса и Холецкого, их применение к конкретной задаче. Код программы решения перечисленных методов на языке программирования Borland C++ Builder 6. Понятие точного метода решения СЛАУ.
реферат [58,5 K], добавлен 24.11.2009Характеристика способов решения систем линейных алгебраических уравнений (СЛАУ). Описание проведения вычислений на компьютере методом Гаусса, методом квадратного корня, LU–методом. Реализация метода вращений средствами системы программирования Delphi.
курсовая работа [118,4 K], добавлен 04.05.2014Исследование метода квадратных корней для симметричной матрицы как одного из методов решения систем линейных алгебраических уравнений. Анализ различных параметров матрицы и их влияния на точность решения: мерность, обусловленность и разряженность.
курсовая работа [59,8 K], добавлен 27.03.2011Сущность итерационного метода решения задачи, оценка его главных преимуществ и недостатков. Разновидности итерационных методов решения систем линейных алгебраических уравнений: Якоби, Хорецкого и верхней релаксации, их отличия и возможности применения.
курсовая работа [39,2 K], добавлен 01.12.2009Численные методы решения систем линейных алгебраических уравнений, алгоритмы, их реализующие. Нормы матриц и векторов, погрешность приближенного решения системы и обусловленность матриц. Интеграционные методы решения: методы простой итерации, релаксации.
учебное пособие [340,6 K], добавлен 02.03.2010