Euler, Runge Kutta, and ODE45

3 次查看(过去 30 天)
Hi so i have to create a program capable of pick the function that the user wants to utiliezed, if user wants to calculate the function base using euler method the program will select Eulers Method and so on. I know how to excute them all in different mfiles but im not sure how to put them all in one mfile. I also need another mfile where all the constant are gonna be
%RK 4TH ORDER
for j=1:n
k1=f3(x(j),y2(j));
k2=f3(x(j)+0.125,y2(j)+k1*0.125);
k3=f3(x(j)+0.125,y2(j)+k2*0.125);
k4=f3(x(j)+0.125,y2(j)+k3*0.125);
y2(j+1)=y2(j)+(0.25/6)*(k1+2*(k2+k3)+k4);
x(j+1)=x(j)+h;
end
%EULERS METHOD
for i=1:n
y(i+1)=y(i)+0.25*f1(x(i),y(i));
x(i+1)=x(i)+0.25;
end
%ODE_45
fun=@(t,y)y*(t^2-1.1)
[t,y]=ode45(fun,[0 2],1)
  1 个评论
James Tursa
James Tursa 2020-11-5
Your RK4 code has an error. This line:
k4=f3(x(j)+0.125,y2(j)+k3*0.125);
should be this
k4=f3(x(j)+0.25,y2(j)+k3*0.25);

请先登录,再进行评论。

采纳的回答

James Tursa
James Tursa 2020-11-5
You could use a switch control block to run the method selected.

更多回答(0 个)

产品


版本

R2016b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by