Анализ модели Ван-дер-Поля

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

Вывод

В данной курсовой работе рассматривается система уравнений Ван-дер-Поля:

В первой части проведено аналитическое исследование по системе первого приближения.

Решив систему первого приближения можно сделать следующий вывод, что

q при > 0 точка покоя (0.0) исходной системы (и системы первого приближения) неустойчива;

q при < 0 точка покоя (0.0) исходной системы (и системы первого приближения) устойчива;

q при = 0 наблюдается устойчивость, но не асимптотическая.

Во второй части рассмотрены численные методы Эйлера и Рунге-Кутта. Применяя один из этих методов, возможно нахождение приближенного решения системы дифференциальных уравнений.

По результатам решения проведен сравнительный анализ погрешности этих методов.

Таким образом, опытным путем было подтверждено, что метод Эйлера имеет порядок точности О(h), а метод Рунге-Кутта - О(h4). Следовательно, мы еще раз убедились, что метод Рунге-Кутта имеет более высокую точность, и дальнейшие построения, расчеты и анализ проводились только этим методом.

Решая систему уравнений Ван-дер-Поля, при различных значениях параметра были установлены следующие случаи:

q при > 0 наблюдается неустойчивый фокус;

q при < 0 наблюдается устойчивый фокус;

q при = 0 наблюдается центр.

Приложение

Program eyler;

var

rez : text; x1,y1,x0,y0:real; i:integer;

const h=0.01 ; k=3 ; n=5000;

function f(x,y:real):real;

begin

f:=y;

end;

function g(x,y:real):real;

begin

g:=a*y - x*x*a*y - x;

end;

begin

assign(rez, churin.txt);

rewrite (rez);

x0:=-0.01;y0:=-0.01;

writeln (rez,x0, ,y0);

for i:=1 to n do

begin

x1:=x0+h*f(x0,y0);

y1:=y0+h*g(x0,y0);

writeln(rez,x1, ,y1);

x0:=x1;

y0:=y1;

end;

close (rez);

end.

Program rungecut;

var

rez : text;l1,l2,l3,l4,k1,k2,k3,k4,x0,y0,x1,y1:real; i:integer;

const h=0.01 ; k=3 ; n=5000;

function f(x,y:real):real;

begin

f:=y;

end;

function g(x,y:real):real;

begin

g:=a*y - x*x*a*y - x; {Tut pisat svou funcciu}

end;

begin

assign(rez, churin.txt);

rewrite (rez);

x0:=-0.01;y0:=-0.01;

writeln (rez,x0, ,y0);

for i:=1 to n do

begin

k1:=h*f(x0,y0); l1:=h*g(x0,y0);

k2:=h*f(x0+k1/2,y0+l1/2); l2:=h*g(x0+k1/2,y0+l1/2);

k3:=h*f(x0+k2/2,y0+l2/2); l3:=h*g(x0+k2/2,y0+l2/2);

k4:=h*f(x0+k3,y0+l3); l4:=h*g(x0+k3,y0+l3);

x1:=x0+(k1+2*k2+2*k3+k4)*1/6;

y1:=y0+(l1+2*l2+2*l3+l4)*1/6;

writeln (rez,x0, ,y0);

x0:=x1; y0:=y1;

end;

close (rez);

end.

Список литературы

1. В.И. Арнольд «Обыкновенные дифференциальные уравнения» Москва «Наука», 1984г.

2. Академик А.Н. Тихонов, профессор Д.П. Костомаров Научно-технический прогресс и математика».

3. А.М. Самойленко, С.А. Кривошея, Н.А. Перестюк «Дифференциальные уравнения: примеры и задачи»

4. Л.Б. Ряшко Лекции по предмету «Дифференциальные уравнения»

5. И.А. Башкирцева Лекции по предметам: «Методы вычислений» и «Компьютерное моделирование»

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