maple, program liczacy równanie różniczkowe metoda eulera

2

witam, mam takie zadanko, i chciałabym je jakoś ugryźć i jak zaczynam pisac w maple program to juz na samym poczatku wyskakują mi błędy, co robie nie tak?

Predkosc obiektu w spadku swobodnym blisko powierzchni Ziemi opisuje rownanie
dv/dt=-g
gdzie v-predkosc, g- przyspieszenie ziemskie
Napisz program ktory uzywa metode Eulera do obliczenia tegoz rownania rozniczkowego (tzn oblicza funkcje v(t)). Dla uproszczenia zakladamy, ze v(0)=0 i obliczamy rownanie na przedziale czasowym od t=0 do t=10. Wykonaj obliczenia dla kilku roznych time step ( tzn ilosc iteracji) i porownaj swoje rozwiazanie z rozwiazaniem analitycznym ( takim obliczonym na papierze

 > dv/dt = -g;
                                   dv     
                                   -- = -g
                                   dt     
> f := proc (v, t) options operator, arrow; (-1)*9.81 end proc;
(v, t) -> (-1) 9.81
> a := 0.; b := 10; n := 100; h := (b-a)/n;
                                     0.
                                     10
                                     100
                                0.1000000000
> x := array(0 .. n, [seq(a+i*h, i = 0 .. n)]);
> y := array(0 .. n); y[0] := 0;
                                      0
> for i from 0 to n-1 do;
Error, invalid loop
             Typesetting:-mambiguous(for i from 0 to n - 1 do, 

               Typesetting:-merror("invalid loop"))
> y[i+1] := y[i]+h*f(x[i], y[i]);
Error, unevaluated array index in assignment
> 
0

Metodą Eulera
f := proc (v, t) options operator, arrow; -9, 81 end proc;
a := 0; b := 10; c := 100; h := (b-a)/c;

t[0] := 0; v[0] := 0;

for n from 1 to c do
t[n] := nh;
v[n] := v[n-1]+h
f(t[n-1], v[n-1])
end
od;
data := [seq([v[n]], n = 1 .. c)];
plot(data, style = point, color = red)

Analitycznie

eq := diff(v(t), t) = -9.81;
d
--- v(t) = -9.81
dt
dsolve(eq,v(t));
981
v(t) = - --- t + _C1
100

Nie znam się na tym, ale kobiecie nie wypada odmawiać pomocy, szczególnie w okresie Sylwestra ;D
http://homepages.math.uic.edu/~hanson/MAPLE/euler.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1