Taylor's method of order 2 programming
Show older comments
So I am writing a program to solve an IVP problem, I'm trying to write it with not using the function script because I want to plot the error later.
This is my coding:
clear;
h=0.1; t=1:h:2; n=length(t);
%initial condition y=zeros(n,1); y(1)=-0.5;
for i = 1:n-1 y(i+1)=y(i)+h*RHS(t(i),y(i))+(h.^2/2)*RHS3(t(i),y(i)); end
truesol= (sqrt(3)/(2*t))*tan((sqrt(3)/2)*log(t))-1/2*t;
plot(t,y,'.',t,truesol,'*')
[t' y truesol']
And I wrote my RHS(which is my original function) and RHS3(which is my df/dt) separately:
function result = RHS(t,y)
result= y.^2+(1/(t.^2));
end
and
function result= RHS3(t,y)
result = 2*y.^3+((2*y)/(t.^2))-(2/(t.^3));
end
Everything seems to be okay, I even tried a simple "true solution" and it works. It only doesn't work when I tried the correct true solution, which is
truesol= (sqrt(3)/(2*t))*tan((sqrt(3)/2)*log(t))-1/2*t;
it gives me an error of "??? Error using ==> mldivide Matrix dimensions must agree."
Thanks for any input.
Accepted Answer
More Answers (0)
Categories
Find more on Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!