Euler's Method
dy/dx = cos(x)
y(0) = 0, step size of
> | with(plots): |
> | solns:=array(1..33); |
> | solns[1]:=(0,0): |
> | y:=0: |
> | for i from 2 to 33 do |
> | y:=y+cos((i-2)*Pi/8)*Pi/8:solns[i]:=((i-1)*Pi/8,y): |
> | end do: |
> | solnss:=convert(solns,listlist): |
> | EulerSoln:=pointplot(solnss,symbol=circle,symbolsize=12,color=red): |
> | AnalyticalSoln:=plot(sin(x),x=0..4*Pi,thickness=3,color=blue): |
> | display(EulerSoln,AnalyticalSoln); |
y(0) = 0, step size
> | solns2:=array(1..65); |
> | solns2[1]:=(0,0): |
> | y:=0: |
> | for i from 2 to 65 do |
> | y:=y+cos((i-2)*Pi/16)*Pi/16:solns2[i]:=((i-1)*Pi/16,y): |
> | end do: |
> | solns2s:=convert(solns2,listlist): |
> | EulerSoln:=pointplot(solns2s,symbol=circle,symbolsize=12,color=red): |
> | AnalyticalSoln:=plot(sin(x),x=0..4*Pi,thickness=3,color=blue): |
> | display(EulerSoln,AnalyticalSoln); |
y(0) = 1, step size
> | solns3:=array(1..65); |
> | solns3[1]:=(0,1): |
> | y:=1: |
> | for i from 2 to 65 do |
> | y1:=y;y:=y1+cos((i-2)*Pi/16)*Pi/16;solns3[i]:=((i-1)*Pi/16,y); |
> | end do: |
> | solns3[15]; |
> | solns3s:=convert(solns3,listlist): |
> | EulerSoln:=pointplot(solns3s,symbol=circle,symbolsize=12,color=red): |
> | AnalyticalSoln:=plot(sin(x)+1,x=0..4*Pi,thickness=3,color=blue): |
> | display(EulerSoln,AnalyticalSoln); |
> |