![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 12.12.2009
Сообщений: 3
|
![]()
Прошу помочь разобраться с задачей по методу Рунге-Кутта
program RungeKutt; uses GraphABC,crt; const e=2.71; x0=0; xk=1; h=0.05; kv=2; var x,v,p,a,m:real; i,k,t,l,r,rx,ry1,ry2:integer; y,f,z,y0,fk1,fk2,fk3,fk4:array[1..100] of real; xx,yy,zz:array[1..30] of real; procedure PPCH; begin f[1]:=y[2]; f[2]:=2*(exp(4*x))+y[2]+6*y[1]; end; procedure RGK; begin PPCH; for i:=1 to 100 do begin fk1[i]:=h*f[i]; y[i]:=z[i]+fk1[i]/2; end; x:=x+h/2; PPCH; for i:=1 to 100 do begin fk2[i]:=h*f[i]; y[i]:=z[i]+fk2[i]/2; end; PPCH; for i:=1 to 100 do begin fk3[i]:=h*f[i]; y[i]:=z[i]+fk3[i]; end; x:=x+h/2; PPCH; for i:=1 to 100 do begin fk4[i]:=h*f[i]; y[i]:=z[i]+1/6*(fk1[i]+2*fk2[i]+2*fk3[i]+fk4[i]); z[i]:=y[i]; end; end; begin t:=0; x:=x0; y0[1]:=1.433; y0[2]:=-0.367; for i:=1 to 100 do begin y[i]:=y0[i]; z[i]:=y[i]; end; k:=0; repeat RGK; v:=0.1*exp(3*x)+exp(-2*x)+1/3*exp(4*x); p:=y[1]-v; k:=k+1; if k=kv then begin t:=t+1; writeln('x=',x:3:3,' y[1]=', y[1]:3:5, ' y[2]=', y[2]:3:5, ' v=',v:3:5,' p=',p:3:7); xx[t]:=x; yy[t]:=y[1]; zz[t]:=y[2]; k:=0; end; until x>xk; writeln('Для просмотра графика нажмите ввод'); readln; clrscr; SetWindowCaption('График функции y=cos(a)+sin(a)+1+(1/2)*exp(a*ln(e))'); SetWindowSize(600,600); {Ось "Y"} line(30,30,30,600); {Ось "X"} line(0,570,570,570); textout(15,30,'y'); textout(560,575,'x'); textout(15,575,'0'); a:=0; for i:=1 to 1500 do begin M:=0.1*exp(3*a)+exp(-2*a)+1/3*exp(4*a); L:=round(100*m); putpixel(30+r,570-L,clblue); a:=a+0.001; r:=round(100*a); end; for i:=1 to 6 do begin rx:=round(100*xx[i]); ry1:=round(100*yy[i]); setpencolor(clred); CIRCLE(30+rx,570-ry1,4); setpencolor(clblack); ry2:=round(100*zz[i]); CIRCLE(30+rx,570-ry2,4); end; Распишите пожалуйста все по действиям, и еще один вопрос.Почему второй и третий графики(черные и красные круглешки) идут с разным шагом?)))не могу разобраться в этом методе вообще никак(((прошу помогите.Спасибо огромное!!! end. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
![]()
сделайте форматирование тегами, пожалуйста
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Метод Рунге - Кутта в моделировании. (Delphi) | Alexandrx | Помощь студентам | 0 | 19.05.2010 23:34 |
Не работает метод Рунге - Кутта 2-го порядка | CsandeRR | Общие вопросы C/C++ | 1 | 13.04.2010 16:27 |
Метод Рунге-Кутта (Си) | PPPPPP | Общие вопросы C/C++ | 1 | 13.04.2010 00:55 |
Метод Рунге-Кутта (Си) | PPPPPP | Помощь студентам | 2 | 12.04.2010 02:58 |