EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB的simulink中全局变量的用法介绍
, o7 y8 i7 E* j. Z) z) L8 D8 `4 p' L8 I. D4 K
Simulink 中有时候几个模块需要用到同一个参数,特别是仿真系统中,常常会出现多个S函数的情况,而且很多S函数又会用到同一个参数。此时,如果在每个S函数中都单独命名参数,当后续需要修改参数时,每个S函数都要相应修改,很不方便。如果应用全局变量,这种情况可以轻松搞定。下面简单介绍。5 v7 d) _0 Z' i
假设多个模块都要用到参数C。
; c2 K, M& d, T0 N* P# z6 O首先,在Matlab的工作空间里,输入如下语句
O$ i1 n0 Z% F, Uglobal C7 B+ s3 r( }( o% _7 A+ S) }
C=5;
! U' B/ ~& H: M$ j' G然后,对simulink中需要用到参数C的S函数,在其每个环节都加入下述语句
: H8 h- K& }- x( |# U: tglobal C( I/ |3 a* W, I& B- c& V2 s/ g! p
具体地,如下
]8 W( W( O/ T {; I7 y% Sfunction [sys,x0,str,ts] = mdlInitializeSizes()
9 t3 W9 `' f5 rglobal C %初始化环节加入这行程序
8 C1 ? c1 Y+ z. n( Hfunction sys=mdlDerivatives(t,x,u)7 z7 h5 Z. O, a3 q* g1 t
global C %状态更新环节加入这行程序
4 L0 P, t/ _' j5 c6 Z5 S6 Vfunction sys = mdlOutputs(t,x,u)
: f- ]$ r U( K* J8 C' Q5 L, Iglobal C %输出环节加入这行程序
& ?1 n/ Y2 Q' b3 W" e/ n最后,再运行simulink程序就可以了。+ G9 B7 D6 a# B' h* r5 j3 I
注: 如果同时使用的参数过多,可以编写脚本M文件。先运行该M文件,再运行simulink程序。 |