How to create a function that lets me choose the output (euler,Rk2 or Rk4)?
Show older comments
Hi guys, I have made an Euler solution, an RK2 and an RK4 solution for the same differential equation and now i want to put these all in one function so that i can choose from the command line which solution i want. I have tried several things, but I can't figure it out. Can anyone help me?
These are the codes for Euler, RK2 and RK4:
% Euler
function x = EULER(k,M,h,D) % Euler's method
...
return
% Runge Kutta 2
function x = rk2(k,M,N,D) % midpoint rule
..
return
% Runge Kutta 4
function x = rk4(k,M,N,D)
...
return
Accepted Answer
More Answers (2)
madhan ravi
on 22 Dec 2018
0 votes
TADA
on 22 Dec 2018
Easiest Solution Would Be:
function x = solveDiffEq(k, M, step, D, method)
if nargin < 5; method = 'euler'; end
switch lower(method)
case 'euler'
x = EULER(k, M, step, D);
case 'rk2'
x = rk2(k, M, step, D);
case 'rk4'
x = rk4(k, M, step, D);
end
end
Now EULER IS The Default Method For solving, And If Specified Uses The Specified Method.
Categories
Find more on Runge Kutta Methods 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!