EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB的simulink中全局变量的用法介绍 3 C9 M2 Z% h9 [ c2 v
3 B" K% v+ Z8 |3 x" }
Simulink 中有时候几个模块需要用到同一个参数,特别是仿真系统中,常常会出现多个S函数的情况,而且很多S函数又会用到同一个参数。此时,如果在每个S函数中都单独命名参数,当后续需要修改参数时,每个S函数都要相应修改,很不方便。如果应用全局变量,这种情况可以轻松搞定。下面简单介绍。
; ^1 ]4 H. B" U% \ b* R6 M2 M* q: @假设多个模块都要用到参数C。" {' F5 ?9 W5 P
首先,在Matlab的工作空间里,输入如下语句9 H% H6 L0 g9 g' } D/ A
global C. s& }" u2 f( {$ J* a
C=5;7 N% W: ^* }, j. |; S
然后,对simulink中需要用到参数C的S函数,在其每个环节都加入下述语句
0 H* \2 o# o4 R k" |global C2 f# e+ w7 t3 S% F0 k) ?
具体地,如下- M3 `1 f, d( F2 {/ ^
function [sys,x0,str,ts] = mdlInitializeSizes()/ _( O8 H2 A5 @) j0 M
global C %初始化环节加入这行程序
9 W/ w% ?' d+ ~" f. v4 m3 d9 jfunction sys=mdlDerivatives(t,x,u)
0 E0 i2 S" `% `! C0 Eglobal C %状态更新环节加入这行程序
( j5 e4 D' l% Yfunction sys = mdlOutputs(t,x,u)
3 z1 y% C: o2 t2 [6 v! E; `$ \global C %输出环节加入这行程序
$ R) G! D8 v2 [最后,再运行simulink程序就可以了。8 Z$ C4 N; z( R, Z; X2 a
注: 如果同时使用的参数过多,可以编写脚本M文件。先运行该M文件,再运行simulink程序。 |