EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB的simulink中全局变量的用法介绍
% H9 J0 K1 m! \* O- ~3 n4 Q& G2 l4 Q. ~" {' [" i
Simulink 中有时候几个模块需要用到同一个参数,特别是仿真系统中,常常会出现多个S函数的情况,而且很多S函数又会用到同一个参数。此时,如果在每个S函数中都单独命名参数,当后续需要修改参数时,每个S函数都要相应修改,很不方便。如果应用全局变量,这种情况可以轻松搞定。下面简单介绍。# S9 g* u. |0 ], @ T
假设多个模块都要用到参数C。
2 y- q5 n( m6 v9 Y( v首先,在Matlab的工作空间里,输入如下语句
3 B3 ~. E! e9 J9 Yglobal C/ P8 e: I! `; Z! I
C=5;
! F" j/ ?" f1 Z/ W/ j9 z然后,对simulink中需要用到参数C的S函数,在其每个环节都加入下述语句
( N9 k5 R9 o* iglobal C2 I( }) I5 I' |$ e1 @- E8 {
具体地,如下
8 P" p4 i9 d! y, i9 zfunction [sys,x0,str,ts] = mdlInitializeSizes()
! g: y! j' D+ Q- x( `, sglobal C %初始化环节加入这行程序
5 a- a- r, R7 P4 T# R/ j7 j mfunction sys=mdlDerivatives(t,x,u)# z/ c' a% `8 B2 \% i
global C %状态更新环节加入这行程序1 [( b2 I% j3 `. i- ]: n
function sys = mdlOutputs(t,x,u)0 ]" k! T& R, A/ f* l* A9 y/ }
global C %输出环节加入这行程序5 A& f* D+ X) D* i6 x
最后,再运行simulink程序就可以了。9 `: L8 a5 J/ U' z) ~) n7 x8 H
注: 如果同时使用的参数过多,可以编写脚本M文件。先运行该M文件,再运行simulink程序。 |