Runge kutta method matlab

Hello,
I am trying to make a runge-kutta code that solves a coupled ode by taking initial values (x0 and y0). Can you please guide me on this

4 Comments

What do you expect the results to look like?
It should look something like this. The values I get are very close to the initial value, when it should be much bigger.
I forgot to mention i haven't plotted x and y values for all 20 initial conditions. I have only done it for first 10 initial conditions.
I don't have a solution to your main question, but just wanted to point out that you can do all 20 plots with this one line of code:
figure;
plot(x_rk', y_rk','y', 'MarkerSize',5);

Sign in to comment.

Answers (1)

Wan Ji
Wan Ji on 20 Aug 2021
Edited: Wan Ji on 20 Aug 2021
Use arrayfun to obtain your solutions and Plot them!
x0y0 = [20x2] array?
tspan = [0:dt:t_end];
[tsol, xysol] = arrayfun(@(i) ode45(@odefun, tspan, x0y0(i,:)), 1:20, 'uniform', false);
arrayfun(@(i)plot(xysol{i}(:,1), xysol{i}(:,2),'b'), 1:20);

Categories

Find more on Programming in Help Center and File Exchange

Products

Release

R2019b

Tags

Asked:

on 19 Sep 2020

Edited:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!