EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB的simulink中全局变量的用法介绍
, k& p4 @. P# F V+ x" A1 A* X2 j5 K1 v. e- O: k: t- [
Simulink 中有时候几个模块需要用到同一个参数,特别是仿真系统中,常常会出现多个S函数的情况,而且很多S函数又会用到同一个参数。此时,如果在每个S函数中都单独命名参数,当后续需要修改参数时,每个S函数都要相应修改,很不方便。如果应用全局变量,这种情况可以轻松搞定。下面简单介绍。
- K$ u9 ]& ]+ @- J1 ?- _& g假设多个模块都要用到参数C。6 C1 {4 O9 J# i
首先,在Matlab的工作空间里,输入如下语句
8 \0 [( l% C' V; a+ x4 f/ o2 bglobal C
7 c% j* x) \9 o" q+ ~: _C=5;: j% p( j$ D$ S0 [
然后,对simulink中需要用到参数C的S函数,在其每个环节都加入下述语句
& h/ e9 o9 q. m% }0 b8 W- @global C
& L8 J: j" Q( P2 L具体地,如下9 L5 g# o2 @1 x0 K- D6 h9 M$ {
function [sys,x0,str,ts] = mdlInitializeSizes()
' M- f; H1 {# q$ U- T& v1 s! Gglobal C %初始化环节加入这行程序
; e' L. X+ e' i& d* c/ Dfunction sys=mdlDerivatives(t,x,u)
1 |+ V* R6 P# {7 s& dglobal C %状态更新环节加入这行程序: C3 }& b$ ~0 E
function sys = mdlOutputs(t,x,u)
, d! x1 q- M, v2 f" K; @9 Pglobal C %输出环节加入这行程序
7 f V U* c4 `& Y最后,再运行simulink程序就可以了。
% d& G- F A5 F7 x注: 如果同时使用的参数过多,可以编写脚本M文件。先运行该M文件,再运行simulink程序。 |