global variable inside a function

2 ビュー (過去 30 日間)
Babak
Babak 2014 年 8 月 25 日
編集済み: per isakson 2014 年 8 月 26 日
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.

回答 (1 件)

AJ von Alt
AJ von Alt 2014 年 8 月 25 日
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.
  1 件のコメント
Babak
Babak 2014 年 8 月 26 日
Thank you AJ von Alt. :)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeOrdinary Differential Equations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by