EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB的simulink中全局变量的用法介绍
f3 d2 s" B& W* q' U. @ x
2 o- U8 R: D4 J! Q( _2 hSimulink 中有时候几个模块需要用到同一个参数,特别是仿真系统中,常常会出现多个S函数的情况,而且很多S函数又会用到同一个参数。此时,如果在每个S函数中都单独命名参数,当后续需要修改参数时,每个S函数都要相应修改,很不方便。如果应用全局变量,这种情况可以轻松搞定。下面简单介绍。
0 D$ x! H& k5 P7 C$ `. r6 x假设多个模块都要用到参数C。
# A7 x5 w; [6 Z7 P首先,在Matlab的工作空间里,输入如下语句
" j x) h" s6 s/ t! V0 Hglobal C5 d! v( ~( j. P6 }% x {
C=5;# o: T2 P5 Z4 b8 z8 k
然后,对simulink中需要用到参数C的S函数,在其每个环节都加入下述语句
& @0 Z. l3 S3 \# Q+ d: d! @global C: h% E8 h) L; A2 v6 B* K
具体地,如下
" ]" R0 B( ]. l/ Z1 ifunction [sys,x0,str,ts] = mdlInitializeSizes()
' |& G8 Q$ Z- Oglobal C %初始化环节加入这行程序' V- q2 N0 u! \7 ~
function sys=mdlDerivatives(t,x,u)' {- `0 q7 T5 ~, m
global C %状态更新环节加入这行程序+ ?- n0 w) S) w& _& t
function sys = mdlOutputs(t,x,u)/ D# m3 q- m8 p# B6 A3 Y
global C %输出环节加入这行程序
8 E& k( u) t7 L3 v' C最后,再运行simulink程序就可以了。3 m. y( B5 W! f+ y6 h
注: 如果同时使用的参数过多,可以编写脚本M文件。先运行该M文件,再运行simulink程序。 |