EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB的simulink中全局变量的用法介绍 ! e' R" T( y9 E* p- h/ |! y. ]
9 D$ O! H8 A' f
Simulink 中有时候几个模块需要用到同一个参数,特别是仿真系统中,常常会出现多个S函数的情况,而且很多S函数又会用到同一个参数。此时,如果在每个S函数中都单独命名参数,当后续需要修改参数时,每个S函数都要相应修改,很不方便。如果应用全局变量,这种情况可以轻松搞定。下面简单介绍。
* z/ ?( c N J( {$ y$ D2 r* D* z假设多个模块都要用到参数C。1 @/ L. U3 `1 d* V7 r. a9 }1 L, D
首先,在Matlab的工作空间里,输入如下语句" J5 C" @ H+ n& c4 W
global C8 c8 n- ]0 M7 N1 R/ U: \' F# e
C=5;( T7 n B) y) N% ]! q
然后,对simulink中需要用到参数C的S函数,在其每个环节都加入下述语句8 }! z) l! K- d% U( k1 ^
global C
3 w! H% ?$ i& `9 g$ u) c% G& ^9 g具体地,如下
( W+ G- [7 F- Nfunction [sys,x0,str,ts] = mdlInitializeSizes()4 l, [( m8 s4 ^# s6 }
global C %初始化环节加入这行程序2 F! h8 s, w1 b' D9 u- a; H
function sys=mdlDerivatives(t,x,u)
& A, n: ?% r: @global C %状态更新环节加入这行程序
( s7 |! i$ A0 _' w+ U9 ufunction sys = mdlOutputs(t,x,u)
$ ]5 N+ M5 _7 ?4 v% N) M" E3 T. nglobal C %输出环节加入这行程序
7 y# V2 B! E" S' q最后,再运行simulink程序就可以了。 M( R4 F0 u9 ?# f" y, E2 K$ o Q
注: 如果同时使用的参数过多,可以编写脚本M文件。先运行该M文件,再运行simulink程序。 |