EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB的simulink中全局变量的用法介绍
8 y2 g1 Z8 S' T0 f3 z
! l, [8 g" G8 m: c* f* v# JSimulink 中有时候几个模块需要用到同一个参数,特别是仿真系统中,常常会出现多个S函数的情况,而且很多S函数又会用到同一个参数。此时,如果在每个S函数中都单独命名参数,当后续需要修改参数时,每个S函数都要相应修改,很不方便。如果应用全局变量,这种情况可以轻松搞定。下面简单介绍。
5 j1 m. R+ l5 n, \6 t假设多个模块都要用到参数C。) z+ g. }; r) H# I9 H+ E' m
首先,在Matlab的工作空间里,输入如下语句
: L- r0 \; e9 W# c5 kglobal C6 Q6 e* K! f" R7 h
C=5;
& ~% p- d, R5 \ a' i; ~. {然后,对simulink中需要用到参数C的S函数,在其每个环节都加入下述语句
* b7 v! T% t& Bglobal C9 D& B5 O5 Z& d. o0 t8 x
具体地,如下
9 L( U2 Q/ S( D8 X! d5 {function [sys,x0,str,ts] = mdlInitializeSizes()
3 R; k4 `# X" G C% v# d- C+ oglobal C %初始化环节加入这行程序# M# N( T6 z7 ]1 S
function sys=mdlDerivatives(t,x,u)
2 }4 t! U* e# }0 b6 R2 y- W6 ^* Yglobal C %状态更新环节加入这行程序! U3 _& c* ]9 H
function sys = mdlOutputs(t,x,u)6 t- y& N3 @# G& M; @
global C %输出环节加入这行程序
1 o( T6 F! j |; x a最后,再运行simulink程序就可以了。3 Z8 o2 y* E: }( [$ r0 u
注: 如果同时使用的参数过多,可以编写脚本M文件。先运行该M文件,再运行simulink程序。 |