global variable inside a function
    6 views (last 30 days)
  
       Show older comments
    
Hello every one, In my program I used a solver (ODE45) and as you know, for this purpose I need to define a function. I have an element in my function that change with respect to time. For having time in my function I defined global time but unfortunately I got array of my time. I need to have exact time that solver is using!!. What should I do?
    t=0:0.001:2;
    [tout,y]=ode45(@(t,X) sys1(X,B,L,Rr),t,zeros(50,1));
    %%my function %%
    function xdot=sys1(X,B,L,Rr)
    global t;
    Va=208*cos(2*pi*60*t);
    …
    end
Thanks in advance.
0 Comments
Answers (1)
  AJ von Alt
    
 on 25 Aug 2014
        There is no need to use a global. You can pass t in as an argument to your ode function. Example 3 of the ode45 documentation demonstrates this usage.
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!

