EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB的simulink中全局变量的用法介绍 2 x) s) |" U7 L; E! |2 z
2 Y) ]+ q7 y% z- g3 G
Simulink 中有时候几个模块需要用到同一个参数,特别是仿真系统中,常常会出现多个S函数的情况,而且很多S函数又会用到同一个参数。此时,如果在每个S函数中都单独命名参数,当后续需要修改参数时,每个S函数都要相应修改,很不方便。如果应用全局变量,这种情况可以轻松搞定。下面简单介绍。: ^/ D# U; }2 c% m6 a \
假设多个模块都要用到参数C。# {- N% R1 }$ }1 w/ [
首先,在Matlab的工作空间里,输入如下语句
. A9 y, o% D! S$ P- Aglobal C+ k1 i& {7 Z' O
C=5;6 J6 z, i( X5 U1 j% h# y
然后,对simulink中需要用到参数C的S函数,在其每个环节都加入下述语句 V7 D5 p/ J% h/ C
global C% \% s9 ~- g* _6 c: h' {
具体地,如下
( Y. F* c+ x# g- K3 ?function [sys,x0,str,ts] = mdlInitializeSizes()- Q2 Z7 W& l0 r" s" H' A3 p9 q; a
global C %初始化环节加入这行程序
2 J6 G9 V0 Y$ ~9 qfunction sys=mdlDerivatives(t,x,u)# l' o, \/ a. j% K+ ?5 i9 r
global C %状态更新环节加入这行程序* G! C; r& M8 x" a- r& \& Z- m
function sys = mdlOutputs(t,x,u): M" {/ I ^# B; d1 y
global C %输出环节加入这行程序
# {8 ~' t- @; m6 F( A. R: b最后,再运行simulink程序就可以了。, n+ E, d- n# q% Q) g- F6 ?* h8 S4 n
注: 如果同时使用的参数过多,可以编写脚本M文件。先运行该M文件,再运行simulink程序。 |