EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB的simulink中全局变量的用法介绍
# s |: g+ s/ c: @& F/ U
8 \& K6 d/ \9 Y3 ?8 T" [9 R2 K8 BSimulink 中有时候几个模块需要用到同一个参数,特别是仿真系统中,常常会出现多个S函数的情况,而且很多S函数又会用到同一个参数。此时,如果在每个S函数中都单独命名参数,当后续需要修改参数时,每个S函数都要相应修改,很不方便。如果应用全局变量,这种情况可以轻松搞定。下面简单介绍。# ?% r s8 H. g* H
假设多个模块都要用到参数C。0 J; H6 W6 p1 n0 |8 h8 c) w& X7 @
首先,在Matlab的工作空间里,输入如下语句. U: _" R9 V" K' W& ^
global C
0 e% X$ L+ K6 w; j2 l' h3 lC=5;% B, j! H* D7 t! n0 R, u2 j1 n( y
然后,对simulink中需要用到参数C的S函数,在其每个环节都加入下述语句% P0 W/ Z6 a) ^( I" g
global C
( W, T9 T% C* j+ @/ ]! S. Q具体地,如下
' c3 h" G7 q7 e; L! mfunction [sys,x0,str,ts] = mdlInitializeSizes()
, {: A/ [/ g/ x$ C& `' wglobal C %初始化环节加入这行程序
' |1 g5 A0 m+ {1 Lfunction sys=mdlDerivatives(t,x,u)6 J2 z! w4 u$ O2 ^6 |" S
global C %状态更新环节加入这行程序
. Y* F3 ]6 ?) v% u) k) xfunction sys = mdlOutputs(t,x,u)
0 u/ n( C R; n) {8 vglobal C %输出环节加入这行程序" {' E! z; N6 T
最后,再运行simulink程序就可以了。) Q; a1 N! {& ?% g" K2 [- e
注: 如果同时使用的参数过多,可以编写脚本M文件。先运行该M文件,再运行simulink程序。 |