EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB的simulink中全局变量的用法介绍 $ D5 I- {; B, W8 @% s: x7 ~1 e
9 I: c9 i2 r1 T5 @& E: X& s3 r9 B- t0 l+ i
Simulink 中有时候几个模块需要用到同一个参数,特别是仿真系统中,常常会出现多个S函数的情况,而且很多S函数又会用到同一个参数。此时,如果在每个S函数中都单独命名参数,当后续需要修改参数时,每个S函数都要相应修改,很不方便。如果应用全局变量,这种情况可以轻松搞定。下面简单介绍。
1 c$ R9 g7 C! l1 Z; W假设多个模块都要用到参数C。* a* z- m$ K' ~9 n
首先,在Matlab的工作空间里,输入如下语句
9 s4 z j& o% J' _6 k( W0 Tglobal C3 c- I! i+ A1 P: ^$ V
C=5;0 B8 v! D9 ]8 j$ F8 j/ y
然后,对simulink中需要用到参数C的S函数,在其每个环节都加入下述语句% N3 d( b: c! {, e6 W, w6 T& o
global C, X- I, C# ]2 r4 V5 F
具体地,如下
X& ]$ \0 B" R! Afunction [sys,x0,str,ts] = mdlInitializeSizes()
: Y4 i8 Q+ |$ Y0 Q$ D3 I( Aglobal C %初始化环节加入这行程序
6 R0 f; ~5 [ b: H& Bfunction sys=mdlDerivatives(t,x,u)8 O# c4 Q: l. `6 G6 n6 z. D1 ~
global C %状态更新环节加入这行程序
3 f0 r% V7 P7 ufunction sys = mdlOutputs(t,x,u); b4 |: o& G# U: h
global C %输出环节加入这行程序
% ?" ?4 ^# ^) O+ p5 I% e4 m2 o: I最后,再运行simulink程序就可以了。
8 x" i" |0 {% `" a+ A1 N, j' m注: 如果同时使用的参数过多,可以编写脚本M文件。先运行该M文件,再运行simulink程序。 |