Returning several dataset using ode45
    5 views (last 30 days)
  
       Show older comments
    
    Frederik Bjerregaard
 on 7 Dec 2021
  
    
    
    
    
    Commented: Frederik Bjerregaard
 on 8 Dec 2021
            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);
    plot(theta(:,1),theta(:,2));
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.
0 Comments
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;
end
Use a for loop and try it
3 Comments
More Answers (0)
See Also
Categories
				Find more on Ordinary Differential Equations 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!

