WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Програма Maple і застосування її до звичайних диференціальних рівнянь - Курсова робота

Програма Maple і застосування її до звичайних диференціальних рівнянь - Курсова робота

опишемо масив і присвоємо його елементам праві частини диференціальних рівнянь, в яких здійснені описані підстановки:
>eqbuf:= array (1,,NEQ);
>for I from 1 to NEQ do eqbuf [I]:=
rhs (evalf (subs (parsubs, subs (podst, equat [i])))); od;
Для звернення до команди розв'язку системи ДР пакету MATLAB необхідно сформувати файл, який задає праві частини системи. Наступні команди задають процедуру на мові MATLAB (m - файл) і записують її в файл робочого каталогу MATLAB:
>open ("c:MatlabR11work maple.m".WRITE);
writeline ("c:MatlabR11work maple.m",
"function f =rmaple(t,y)"):
writeline ("c:MatlabR11work maple.m"."f=[…"):
for I from 1 to NEQ do
nn:= nops (eqbuf [I] ): j:=1: uu:=0:
while jif ( trunc (j/3)*3) = j
then if jelse if j = NEQ then streng:= "]; "
else strend:= "; …" fi fi;
writeline ("c:Matlabwork maple.m".
cat (convert (uu, string), strend));
uu:=0: fi: j:= j + 1: od:
if INEQ then writeline ("c:MatlabnR11work maple.m",
cat (convert(uu,string),":///"))
else writeline ("c:MatlabbR11work maple.m",
cat (convert(uu,string),"];")) fi;
fi: od: close("c:MatlabR11work maple.m"):
В результаті в файлі rmaple.m будуть міститися команди MATLAB, які реалізують праві частини отриманої системи звичайних ДР.
function f = rmaple (t, y)
f=[…
-.9869604404e-4*y(1)-18.84955592*y(26):…

-2.*y(37)*y(25)-6.756115171*y(37)-.7071067810*y(31)^2+…
-.7071067810*y(18)*y(31)-.7071067810*y(17)*y(32)-
1.*y(25)*y(24)+…
-.7071067810*y(13)*y(36)-1.414213562*y(30)*y(32)
.7071067810*y(22)*y(27)+…
-1.414213562*y(26)*y(36)-.7071067810*y(20)*y(29)-
.7071067810**y(23)*y(26)+…
-.7071067810*y(15)*y(34)-1.414213562*y(28)*y(34)-
.7071067810*y(19)*y(30)+…
-.7071064810*y(16)*y(33)-.7071067810*y(14)*y(35)-
1.41423562*y(27)*y(35)+…
-.7071067810*y(21)*y(28)-1.414213562*y(29)*y(33)];
Перед переглядом команд MATLAB підключимо необхідну бібліотеку:
>with (Matlab):
Для розв'язання задачі Коші визначимо початкові значення невідомих:
>yinit:= array (1..NEQ):
>for I from 1 to NEQ do yinit[I]:=0.01: od:
>yinit [N+1]:= 0.2: yinit [2*N+1]:= 0.5: yinit [2*N+2]:=0.1:
Тепер два рази звернемося до команди ode45 для розв'язання системи звичайних диференціальних рівнянь методом Рунне - Кутти. Перший розрахунок проводять для встановлення режиму, отримані в його результаті значення змінних є початковими для другого розрахунку. По другому розв'язку можна судити про встановлений режим взаємодії популяцій:
>ti :=0: tf :=40.0:
>(T, Ysol) := ode45 ("rmaple", ti..tf.yinut. "tol":=.01):
>ti :=0: tf:=40.0;
>(T,Ysol := ode45 ( "rmaple". T ..tf. yinit. 'tol" = .001 ):
Наступний рядок виводить кількість точок числового розв'язку:
>nsol:= size (Ysol) [1];
nsol:= 13993
Для візуалізації розв'язку вирахуємо аналітично дві величини - середнє по відрізку значення жертв і середню їх кількість:
>I:= 'i':varplot1:= subs (podst, parsubs,
int (value (C+c(t, x))*value (s (t, x) ), x=0..1));
varplotI:= y(14)y(25) + y(20)y(31) + y(19()y(30) + y(13)y(24) + y(17)y(28) + y(12)y(23) + y(16)y*(27) + y(15)y(26) + .65y(21)_y(18)y(29) + y(11)y(220)
>varplot2:= subs (poast, parsubs, int (value (s (t, x) ), x = 0..1) );
varplot2: + y (25)
Сформуємо двовимірний масив Yplot, який містить значення змінних varplot1 і varplot2 в різні періоди часу. Зауважимо, що для кожного моменту часу t формується допоміжна змінна ppp для підстановки чисел замість відповідних символьних змінних:
>Yplot:= array (1..nsol, 1..2):
>for I from 1 to nsol do
ppp:={seq(y(j)=Ysol[I,j],j=1..NEQ)}:
Yplot [I,1] := subs (ppp, varplot1 0:
Yplot [I,2]:= subs (ppp, varplot2): od:
Щоб закрити сеанс Matlab необхідно виконати команду:
> Matlab[closelink]():
Висновки
В курсовій роботі розглянули програму Maple і застосування її до звичайних диференціальних рівнянь. Зокрема, інтерфейс програми, організацію документу і систему меню, як запустити на виконання введені команди.
Задача знаходження похідної функції і інтеграла за допомогою системи Maple реалізовується за допомогою відповідних команд (diff (expr, x), int (expr, var)). Розглянули приклади на знаходження похідної функції, невизначеного і визначеного інтеграла за допомогою розглянутих команд. А також команду dsolve для знаходження аналітичного розв'язку ДР, приклад на застосування. В системі Maple можна розв'язувати задачу Коші. Для знаходження числового розв'язку обов'язково необхідно задати всі символьні параметри числовими значеннями. В тому випадку, коли відсутнє явне представлення розв'язку ми розглянули спеціальний об'єкт Desol для роботи з ДР чи системою ДР. Показали, як використовувати Desol для отримання наближеного розв'язку розкладом в ряд і побудови числового розв'язку. Розглянули пакет Detools, який дає великі можливості для перетворення ДР, пониження порядку, перетворення рівняння до диференціального оператора, побудови розв'язку у замкнутій системі тощо.
Розглянули пакет Matlab, за допомогою якого можна знайти числовий розв'язок системи звичайних диференціальних рівнянь.
Використана література:
Матросов А.В "Maple 6. Решение задач высшей математики и механики".
1. Heal K.M., Hansen M.L "Maple 6 Learning Guide". Waterloo Maple Inc., 2000. - 314.
2. Monagan M.B., Geddes K.O., Heal K.M., Labahn G., Vorkoetter S.M., M Carron j. "Maple 6 Programming Guide". Waterloo Maple inc., 2000.-586 с.
3. Волков Е.А. "Численные методы : Учеб. Пособие для вузов". - М.: Наука, 1987. - 248 с.
4.Евсеев Е.А., Зенкевич Н.А., Лукьянова А.Е. "Основы математического анализа для менеджеров: "Учебное пособие СПб. :Изд-во с. - Петербургского университета", 1996- 108с.
5. Коллатц Л., Альбрехт Ю. "Задачи по прикладной математики." - М. : Наука, 1978.-167с.
6. Пискунов Н.С."Дифференциальное и интегральное исчисление". - М. : Наука, 1978. Т.2.-576 с.
7. Постов В.А "Численные методы расчета судових конструкций". - Л. : Судостроение, 1977 - 280с.
В. Говорухин. Б. Цибулин "Компьютер в математическом исследовании". 602c.
1. Говорухин В.Н., Цибулин В.Г "Введение в Maple. Математический пакет для всех. М. : Мир, 1997.
2. Дьяконов В. "Математическая система Maple 5. Солон 1998.
3. Матросов А. "Maple 6. Решение задач…" БХВ - Петербург, 2001.
4. Прохоров Г., Колосев В., Желков К., Леденев М. "Математический пакет Maple 5 Release 4 : Руководство пользователя. Калуга : облиздат.. 1998.
5. Хайрер Я., Нерсет С., Ваннер Г. Решение обыкновенных дифференциальных уравнений. : М. : Мир. 1986.
Loading...

 
 

Цікаве