Интеграционный метод Эйлера для решения линейных систем алгебраических уравнений

курсовая работа

4. АНАЛИЗ РЕЗУЛЬТАТОВ. ВЫВОДЫ

Проведя анализ результатов тестирования, можно сказать, что наиболее эффективна программа при шаге интегрирования равном 0,00001, так как именно тогда ошибка аппроксимации минимальна и число итераций равно 1.

Видно, что чем меньше ошибка аппроксимации, тем меньше итераций требуется для решения.

При шаге 0,00001 на графики были в виде прямых, что можно списать на округление значений при вычислении.

Исходя из графиков, также можно сказать, что решения совпадают, однако, при заданном максимуме итерационного шага количество итераций в этом методе значительно превышает количество итераций при том же шаге в методе с постоянным шагом, практически не влияя при этом на ошибку аппроксимации.

Проанализировав результаты решения жесткой системы, можно сказать, что плохая обусловленность матрицы делает практически непоказательным графическое решение, так как по нему очень сложно судить о поведении обеих переменных, в силу того что на фоне одной из них (х2) не заметна другая.

То есть:

· величина шага влияет на число итераций

· точность решения зависит от величины шага

· решение систем с переменным или постоянным шагом, равным максимальному шагу способа с переменным шагом, одинаково

· жесткость системы затрудняет анализ результата решения

ЗАКЛЮЧЕНИЕ

В данной работе был исследован явный метод Эйлера для решения обычных и жестких систем ОДУ. Было проанализировано влияние величины шага интегрирования на ошибку аппроксимации, и ее влиянии на число итераций. Для этого была написана программа (Приложение 1), реализующая метод, и протестирована при различных исходных данных.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1 Ортега Дж., Рейнболдт В. Итерационные методы решения нелинейных систем уравнений со многими неизвестными.-М.: Мир, 1975.- 558 стр.

2 Самарский А.А., Гулин А.В. Численные методы: Учеб. Пособие для вузов.- М.: Наука,1989.- 432 стр.

3 Сарычева О.М. Численные методы в экономике / О.М. Сарычева.- Новосибирск, 1995.- 67 стр.

ПРИЛОЖЕНИЯ

ПРИЛОЖЕНИЕ 1

Текст головной программы:

h=0.01; % шаг интегрирования

t0=0; % начальное время интегрирования

x0=[0;0];

Edop=0.01;

[t_out,y_out]=RK1(t0,x0,h,Edop); % вызов RK1

ytoch=FunT(t_out); % точное решение

% построение графика решения методом Рунге-Кутта 1

plot(t_out,y_out);

grid;

title(Solution for x1 and x2 by method Runge-Kutta 1);

ylabel(x);

xlabel(t);

Текст программы для решения ОДУ методом Эйлера с постоянным шагом:

function [t_out,y_out]=RungeKutta1(t0,x0,h,Edop);

% функция решения методом Рунге-Кутта 1

t=t0;

x=x0;

t_out=t;

y_out=x0;

E=[1;1];

while E>Edop

K1=Fun(t,x);

dx=h*K1;

x0=x;

x1=x0+(h/2)*Fun(t+h,x);

x1=x1+(h/2)*Fun(t+h,x1);

x=x+dx;

E=abs(x1-x);

t=t+h;

t_out=[t_out,t];

y_out=[y_out,x];

end

Текст программы для решения ОДУ методом Эйлера с переменным шагом:

function [t_out,y_out]=RungeKutta1(t0,x0,h,Edop);

% функция решения методом Рунге-Кутта 1

t=t0;

hmax=h;

x=x0;

xmax=max(x0)

t_out=t;

y_out=x0;

E=[1;1];

while E>Edop

K1=Fun(t,x);

dx=h*K1;

x0=x;

x1=x0+(h/2)*Fun(t+h,x);

x1=x1+(h/2)*Fun(t+h,x1);

x=x+dx;

E=abs(x1-x);

hi=(0.001*xmax)./(abs(Fun(t,x))+(0.001*xmax)./hmax);

h=min(hi);

if h>hmax

hmax=h;

end

t=t+h;

t_out=[t_out,t];

y_out=[y_out,x];

end

ПРИЛОЖЕНИЕ 2

График функции для явного метода Эйлера для обычной системы ОДУ с постоянным шагом интегрирования 0,01:

График функции для явного метода Эйлера для обычной системы ОДУ с постоянным шагом интегрирования 0,001:

График функции для явного метода Эйлера для обычной системы ОДУ с переменным шагом интегрирования менее 0,01:

График функции для явного метода Эйлера для жесткой системы ОДУ с постоянным шагом интегрирования 0,01:

График функции для явного метода Эйлера для жесткой системы ОДУ с постоянным шагом интегрирования 0,001:

График функции для явного метода Эйлера для жесткой системы ОДУ с переменным шагом интегрирования менее 0,01:

Делись добром ;)