Составители:
Практикум по решению задач на ЭВМ
end;
function f2(x:real):real;
begin
f2:=(2-sqr(x))*sin(x)+4*x*cos(x);
end;
begin
clrscr;
writeln ('vvedite granica a i b, i chislo razbienii n');
readln(a,b,n);
h:=(b-a)/n;
s:=((f(a)+f(b))/2)*h;
for i:=1 to n-1 do
begin
x:=a+i*h;
s:=s+f(x)*h;
end;
{вычисление коэффициентов программа M2}
M2:=abs(f2(a));
x:=a;
repeat
x:=x+h;
if abs(f2(x))>M2 then
M2:=abs(f2(x));
until x>b;
psi:=sqr(h)*(b-a)/12*M2;
writeln('s=',s,' ','psi=',psi);
repeat until keypressed;
end.
12) Решить дифференциальное уравнение
)1(
x
y
y
−
=
′
методом Эйлера на
отрезке с начальным условием
]1,0[
10
=
)
y
(
и шагом h=0,1.
program eiler;
uses crt;
var a,b,y,y0,t,dy,h:real;
function f(t,y:real):real;
begin
f:=y*(1-t);
end;
begin
83
Практикум по решению задач на ЭВМ end; function f2(x:real):real; begin f2:=(2-sqr(x))*sin(x)+4*x*cos(x); end; begin clrscr; writeln ('vvedite granica a i b, i chislo razbienii n'); readln(a,b,n); h:=(b-a)/n; s:=((f(a)+f(b))/2)*h; for i:=1 to n-1 do begin x:=a+i*h; s:=s+f(x)*h; end; {вычисление коэффициентов программа M2} M2:=abs(f2(a)); x:=a; repeat x:=x+h; if abs(f2(x))>M2 then M2:=abs(f2(x)); until x>b; psi:=sqr(h)*(b-a)/12*M2; writeln('s=',s,' ','psi=',psi); repeat until keypressed; end. 12) Решить дифференциальное уравнение y ′ = y(1 − x) методом Эйлера на отрезке [0,1] с начальным условием y( 0 ) = 1 и шагом h=0,1. program eiler; uses crt; var a,b,y,y0,t,dy,h:real; function f(t,y:real):real; begin f:=y*(1-t); end; begin 83
Страницы
- « первая
- ‹ предыдущая
- …
- 81
- 82
- 83
- 84
- 85
- …
- следующая ›
- последняя »