yangsong525525

5 Reputation

One Badge

10 years, 242 days

MaplePrimes Activity


These are questions asked by yangsong525525

Hi everyone, I have been trying to plot the Taylor Polynomial approximation with the following code. However, my maple crushes everytime I run it. I indexed some of the variables to get the plot. The code works fine without the index. What did I do wrong?

y := array(1 .. 2);

Digits := 10;

n := 30;

h := .1;

T := 0;

X := 1; 

f := (x, t) -> 1/(3*x(t)-t-2); 

one := 1/(3*x(t)-t-2);

two := diff(f(x, t), t);

first := diff(x(t), t)

 

for k to n do

y[1] := subs(t = T(k), x(T(k)) = X(k), one);

y[2] := subs(first = y[1], t = T, x(T(k)) = X(k), two);

X[k+1] := X+sum(y[i]*h^i/factorial(i), i = 1 .. 2);

T[k+1] := T+h

end do;

X[n];

data := [seq([T[n], X[n]], n = 0 .. 30)];

p[2] := plot(data, style = point, color = blue);

p[3] := plot(data, style = line, color = blue);
display(p[2],  p[3])


 

The code without Index (which works fine)

y := array(1 .. 2);

Digits := 10;

n := 30;

h := .1;

T := 1;

X := .1547196278;

f := (x, t) -> 1/(3*x(t)-t-2); 

one := x(t)^4*e^t-(1/3)*x(t);

two := diff(f(x, t), t);

first := diff(x(t), t);

for k to n do

y[1] := subs(t = T, x(T) = X, one);

y[2] := subs(first = y[1], t = T, x(T) = X, two);

X := X+sum(y[i]*h^i/factorial(i), i = 1 .. 2);

T := T+h

end do

Dear all, I have been trying to use Runge-Kutta method to plot an approximate solution with the following code. However, although I can get the numerical approximation the plot would not show.

h := .1;

x[0] := 0;

y[0] := 1;

xf := 3;

n := floor(xf/h)

f:= (x,y)->1/(3 y-x-2)

x := x[0]

y := y[0]

for i to n do

k1 := f(x, y);

k2 := f(x+(1/2)*h, y+(1/2)*h*k1);

k3 := f(x+(1/2)*h, y+(1/2)*h*k2);

k4 := f(x+h, h*k3+y);

k := (k1+2*k2+2*k3+k4)*(1/6);

y := h*k+y;

x := x+h

end do;

y[n]

data := [seq([x[n], y[n]], n = 0 .. 30)];

p[2] := plot(data, style = point, color = blue);

p[3] := plot(data, style = line, color = blue);
display(seq(p[n], n = 2 .. 3));

Page 1 of 1