EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB的simulink中全局变量的用法介绍
* S" G' q2 W7 V* X+ {4 e0 u5 B- T& e+ @$ v7 `* ?
Simulink 中有时候几个模块需要用到同一个参数,特别是仿真系统中,常常会出现多个S函数的情况,而且很多S函数又会用到同一个参数。此时,如果在每个S函数中都单独命名参数,当后续需要修改参数时,每个S函数都要相应修改,很不方便。如果应用全局变量,这种情况可以轻松搞定。下面简单介绍。0 R8 f2 O( S4 }, D6 `; o* U
假设多个模块都要用到参数C。& f& K0 U. }/ r' h( H5 q
首先,在Matlab的工作空间里,输入如下语句
2 n/ L# \! r0 k8 [4 @0 _/ @global C7 h L1 U( f3 R# J& T. R, \9 V0 z
C=5;8 R# ?) C. z6 T& T# ?, E
然后,对simulink中需要用到参数C的S函数,在其每个环节都加入下述语句0 ?4 a8 u' G4 g. b6 ?% ~6 y: [
global C
]3 t9 p$ w J# T! q5 ?具体地,如下
- S. M8 O# W) [' z2 s. gfunction [sys,x0,str,ts] = mdlInitializeSizes()' @# {9 m2 L9 E3 ^# o
global C %初始化环节加入这行程序
# Z* H# C4 a& X) M) z8 Tfunction sys=mdlDerivatives(t,x,u)
( u# s. R) ~0 P7 _global C %状态更新环节加入这行程序
! Z4 {5 o: Z4 X5 F1 P7 V% X% lfunction sys = mdlOutputs(t,x,u)5 _8 J8 \: l; q9 g; G+ c
global C %输出环节加入这行程序% e. I3 I% p. ]% A0 N! A
最后,再运行simulink程序就可以了。
# t; l6 C9 S0 X4 K$ `注: 如果同时使用的参数过多,可以编写脚本M文件。先运行该M文件,再运行simulink程序。 |