Returning several dataset using ode45

1 view (last 30 days)
Hi. I have a problem where I want an ode45 function to return 5 dataset using the code
clc; clear; close all;
% Defining parameters and initial conditions
f = 0.35;
r = [0.3:0.3:1.5];
zeta = 0.25;
Theta0 = [0.30, 0];
tspan = [0 10];
% Solver options
opts = odeset('RelTol',1e-6,'AbsTol',[1e-9 1e-9]);
% Solver
[t,theta] = ode45(@(t,theta) odefcn(t,theta,f,r,zeta), tspan, Theta0);
As you can see, r is a parameter in the function and I want to create a plot for each of the values for r. The code is running fine when using a single value for r but breaks when using a vector.

Accepted Answer

VBBV on 7 Dec 2021
for i = 1:length(r)
[t,theta] = ode45(@(t,theta) odefcn(t,theta,f,r,zeta), tspan,Theta0);
plot(theta(:,1),theta(:,2));hold on;
Use a for loop and try it

Sign in to comment.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!

Translated by