Помощь - Поиск - Пользователи - Календарь
Полная версия: "Сведение краевой задачи (для обычных диф. уравнений 2 порядка) к двум задачам Коши"
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
maxik42
Помогите пожалуйста написать на паскале программу
"Сведение краевой задачи (для обычных диф. уравнений 2 порядка) к двум задачам Коши"
Lapp
Цитата(maxik42 @ 22.12.2008 22:36) *
Помогите пожалуйста написать на паскале программу
Покажи, что уже сделал.
Поможем.
maxik42
Цитата(Lapp @ 22.12.2008 22:55) *

Покажи, что уже сделал.
Поможем.

я нашел програмку но сказали что она к етой теме не подходит. Сам я в етом не очень разбераюсь поетому прошу помощи! я ее нашел в книжке автора Мудрова (могу дать ссылку на нее).
Привожу програмку! smile.gif rolleyes.gif
{Метод Стрільби
	Для лінійної крайової задачі}
	Type Vec=array[1..2] of real;
	Type Vec1=array[1..6] of real;
	Var x0,x9,p1,a0,a1,h:real; 
	Var i,n:integer;g:Vec1;
	Procedure PQR(Var x,p,q,r:real);{Коефіцієнти P,Q,R}
	Begin p:=1./x;q:=1.-sqr(p1*p);r:=0. End;
	Procedure RP(x:real;var y,f:vec);{Похідні}
	Var p,q,r:real;
	Begin f[1]:=y[2];PQR(x,p,q,r);F[2]:=r-p*y[2]-q*y[1]   
end;
	Procedure RK21(n:integer;var x,h:real;var y:vec);
	Var i:integer;{Метод Рунге-Кутти 2 порядку}
		H2:real;f0,f:vec;
	Begin h2:=h/2;RP(x,y,f0);
		For i:= 1 to n do y[i]:=y[i]+h*f0[i];
		X:=x+h;RP(x,y,f);
		For i:= 1 to n do y[i]:=y[i]+h2*(f[i]-f0[i])
	End;
	Function PSI(l:integer;a:real):real;
	Var m:integer;x:real;y:vec;{Функція Псі}
	Begin y[1]:=a;y[2]:=(g[3]-g[1]*a)/g[2];x:=x0;
		If l=1 then writeln(x,’ ’,a,’ ’,y[2]);
		For m:=1 to n do begin RK21(2,x,h,y);
			If l=1 then writeln(x,’ ’,y[1],’ ’,y[2])
		End;
		If l=0 then PSI:=g[4]*y[1]+g[5]*y[2]-g[6]
	End;
	Procedure SHT(a0,a:real;function PSI:real);
	Var t:real;l:vec;{Метод Стрільби}
Begin t:=PSI(0,a);t:=PSI(1,a-(a-a0)/				(t-PSI(0,a0))*t)
	End;
	Begin {Основна програма}
		Repeat write(’x0,x9,n,p1,a0,a1?’);
			Readln(x0,x9,n,p1,a0,a1);
		For i:= 1 to 6 do begin write(’g’,i:1,’?’)
			Readln(g[i])
		End;
		H:=(x9-x0)/n;SHT(a0,a1,PSI);Until false
End.


М
При публикации программного кода просьба использовать теги
Lapp

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.