EDA365电子论坛网
标题:
MATLAB的simulink中全局变量的用法介绍
[打印本页]
作者:
Colbie
时间:
2020-8-18 10:08
标题:
MATLAB的simulink中全局变量的用法介绍
MATLAB的simulink中全局变量的用法介绍
" t5 C$ ]! e: A
U$ a, h/ d% K4 b
Simulink 中有时候几个模块需要用到同一个参数,特别是仿真系统中,常常会出现多个S函数的情况,而且很多S函数又会用到同一个参数。此时,如果在每个S函数中都单独命名参数,当后续需要修改参数时,每个S函数都要相应修改,很不方便。如果应用全局变量,这种情况可以轻松搞定。下面简单介绍。
* k! s' }) d: A
假设多个模块都要用到参数C。
; x: r" u$ u' k- O! T
首先,在Matlab的工作空间里,输入如下语句
' p2 i# N8 v8 k& h6 P9 {
global C
! S' z4 ~( l8 L1 A U7 F
C=5;
6 L( |4 D* Q5 d; n( C
然后,对simulink中需要用到参数C的S函数,在其每个环节都加入下述语句
# q' W j8 S9 E% M, W
global C
& K7 M8 n/ i1 R1 ]+ d4 O( D0 I3 ~0 H
具体地,如下
+ W: g' ~2 O$ b9 @
function [sys,x0,str,ts] = mdlInitializeSizes()
( b9 d0 y1 O; V( n" i5 h
global C %初始化环节加入这行程序
% l. z2 H6 ?* ~2 m, i: b; r& }+ L
function sys=mdlDerivatives(t,x,u)
, F, I; t& x! q6 |3 h$ p" e
global C %状态更新环节加入这行程序
9 J3 J- g! r8 F& W& P; f6 V5 ?
function sys = mdlOutputs(t,x,u)
0 m4 h( J* k* S/ b# H
global C %输出环节加入这行程序
0 I" w5 s+ `+ `/ B: U
最后,再运行simulink程序就可以了。
5 d7 g9 U+ \! ?; B
注: 如果同时使用的参数过多,可以编写脚本M文件。先运行该M文件,再运行simulink程序。
作者:
fantasyqqq
时间:
2020-8-18 11:03
Simulink仿真,学习了
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2