Нижегородский Форум Друзей

Нижегородский Форум Друзей (http://forum.nnov.org/)
-   НГТУ (http://forum.nnov.org/gorodskaya-zhizn/ucheba/ngtu/)
-   -   Эйлер мод2. помогите с паскалем плиз! (http://forum.nnov.org/gorodskaya-zhizn/ucheba/ngtu/59811-eiler-mod2-pomogite-s-paskalem-pliz.html)

napster_X 05.11.2009 16:27

Эйлер мод2. помогите с паскалем плиз!
 
имеется метод Эйлера 2 мод. в мадкаде
Спойлер:
[Для просмотра данной ссылки нужно зарегистрироваться]1 колонка-t, 2 - I, 3 - U

и на паскале(кажется простой Эйлер)
Спойлер:
Код:

Program Difur;
var
        t,I,U:array[1..1000] of real;
        j,n:integer;
        fit,fit1,fut,fut1,h,R1,R2,R3,R4,R5,R6,f,fi,E0,L,c,w,t0,t1,t2,Et,E1t,Et1,E1t1,A,B,D,G:real;
        P,O,K,M:text;
begin
assign(P,'c:\N.txt');
        rewrite(P);
assign(O,'c:\time.txt');
        rewrite(O);
assign(K,'c:\I.txt');
        rewrite(K);
assign(M,'c:\U.txt');
        rewrite(M);
                R1:=30;R2:=25;R3:=50;
                R4:=1.88;R5:=15;R6:=50;
                f:=30;fi:=3*pi/5;E0:=15;L:=5.57/1000;
                c:=20/1000000;
                w:=2*pi*f;
                t0:=0;
                t1:=0.01;
                t2:=0.02;
write('n=');
read(n);
writeln(P,'n=',n);
h:=(t2-t0)/n;
I[1]:=0;
U[1]:=0;
t[1]:=0;

A:=(R4+(R1*R2)/(R1+R2)+R3*(R5+R6)/(R3+R5+R6));
B:=(R5+R6)/(R3+R5+R6);
D:=R2/(R1+R2);
G:=1/(R3+R5+R6);

for j:=1 to n do
        begin
                t[j+1]:=t[j]+h;
                Et:=E0+E0*sin(w*t[j]+fi);
                if t[j]<t1 then E1t:=Et
                else E1t:=0;
{тут}
fIt:=(1/L)*(E1t*d-I[j]*a-U[j]*b);
fUt:=(1/c)*(I[j]*b-U[j]*g);
fIt1:=(1/L)*(E1t*d-(I[j])*a-(U[j])*b);
fUt1:=(1/c)*((I[j])*b-(U[j])*g);

I[j+1]:=I[j]+(h/2)*(fIt+fIt1);
U[j+1]:=U[j]+(h/2)*(fUt+fUt1);
{тут}
        end;
writeln(P,'N',j:3);
writeln(O,'t');
writeln(K,'I');
writeln(M,'U');
for j:=1 to n+1 do
        begin
        writeln(P,'',j:3);
        writeln(O,'',t[j]:6:5);
        writeln(K,'',I[j]:6:5);
        writeln(M,'',U[j]:6:5);
        end;
close(M);
close(K);
close(O);
close(P);
end.


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

Axel2150 05.11.2009 18:14

по идеи значения могут и не совпадать... они ведь приблезительные... :)

napster_X 05.11.2009 18:45

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

Nekto 09.11.2009 16:45

Вложений: 3
Вот три курсача, в свое время много сделал, посмотри, может поможет :)
[Для просмотра данной ссылки нужно зарегистрироваться]
[Для просмотра данной ссылки нужно зарегистрироваться]
[Для просмотра данной ссылки нужно зарегистрироваться]


Часовой пояс GMT +3, время: 02:05.

Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод:
Search Engine Friendly URLs by vBSEO 3.6.0zCarot
© 2005—2015 ООО «Интернет компания ННОВ.РУ», friends.nnov.ru
Реклама на форуме