美赛数学建模专用第七章Simulink基础Word格式文档下载.docx
- 文档编号:17429719
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:12
- 大小:63.62KB
美赛数学建模专用第七章Simulink基础Word格式文档下载.docx
《美赛数学建模专用第七章Simulink基础Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《美赛数学建模专用第七章Simulink基础Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
open_system-Openexistingmodelorblock.
load_system-Loadexistingmodelwithoutmakingmodelvisible.
save_system-Saveanopenmodel.
add_block-Addnewblock.
add_line-Addnewline.
delete_block-Removeblock.
delete_line-Removeline.
find_system-Searchamodel.
hilite_system-Hiliteobjectswithinamodel.
replace_block-Replaceexistingblockswithanewblock.
set_param-Setparametervaluesformodelorblock.
get_param-Getsimulationparametervaluesfrommodel.
add_param-Addauser-definedstringparametertoamodel.
delete_param-Deleteauser-definedparameterfromamodel.
bdclose-CloseaSimulinkwindow.
bdroot-Rootlevelmodelname.
gcb-Getthenameofthecurrentblock.
gcbh-Getthehandleofthecurrentblock.
gcs-Getthenameofthecurrentsystem.
getfullname-getthefullpathnameofablock
slupdate-Updateolder1.xmodelsto3.x.
addterms-Addterminatorstounconnectedports.
boolean-Convertnumericarraytoboolean.
slhelp-Simulinkuser'
sguideorblockhelp.
Masking.
hasmask-Checkformask.
hasmaskdlg-Checkformaskdialog.
hasmaskicon-Checkformaskicon.
iconedit-Designblockiconsusingginputfunction.
maskpopups-Returnandchangemaskedblock'
spopupmenuitems.
movemask-Restructuremaskedbuilt-inblocksasmaskedsubsystems.
Library.
libinfo-Getlibraryinformationforasystem.
Diagnostics.
sllastdiagnostic-Lastdiagnosticarray.
sllasterror-Lasterrorarray.
sllastwarning-Lastwarningarray.
sldiagnostics-Getblockcountandcompilestatsforamodel.
Hardcopyandprinting.
frameedit-Editprintframesforannotatedmodelprintouts.
print-PrintgraphorSimulinksystem;
orsavegraphtoM-file.
printopt-Printerdefaults.
orient-Setpaperorientation.
simulinkisbothadirectoryandafunction.
Copyright1990-2004TheMathWorks,Inc.
Simulink的三大步骤(procedureofSimulink):
模型创建与定义、(Modelcreatinganddefinition)
模型的分析、(Modelanalyzing)
模型的修正。
(Modelmodifying)
Simulink的运行:
(RunningofSimulink)
1、运行Simulink:
命令窗口下点击Simulink图标(或键入Simulink命令)→
SimulinkLibraryBrowser(浏览器)→
simulink树状列表形式的模块库(包含simulink模块库中的各种模块及其它Toolbox和Blockset中的模块)
2、选择建模模块:
展开树状列表,用鼠标点击所需类别的模块项,所选模块类的具体模块库就在右侧的列表框中显示出来,提供建模使用。
也可以在在输入栏中键入模块名并点击Find按钮进行查询。
3、打开模型创建窗口:
(openthewindowofmodecreating)。
在工具栏中选择“建立新模型”的图标,弹出名为Untitled的空白窗口,选择Open窗口可以打开存于硬盘中已建的模型,完成模型的运行或修改。
二.Simulink的基本模块(basicmodule)
simulink浏览器窗口左侧的simulink项上单击鼠标右键,弹出菜单“Openthe‘Simulink’Labrary’”选项,将打开simulink模块库窗口。
1.信号源模块:
source,模块及功能见(表8—1)
2.输出模块:
Sinks,模块及功能见(表8—2)
3.连续系统模块:
Continuous,模块及功能见(表8—3)
4.离散系统模块:
Discrete,模块及功能见(表8—4)
5.数学运算模块:
Math,模块及功能见(表8—5)
6.函数和表模块:
Function&
Tables,模块及功能见(表8—6)
7.非线性系统模块:
Nonlinear,模块及功能见(表8—7)
8.信号与系统模块:
Signal&
Systems,模块及功能见(表8—8)
三.Simulink建模(Simulincmodulecreating)
1.模块的创建与操作(CreatingandoperationofSimulink)
(1)创建模块:
(modulecreating)
(1)在浏览器列表中点击需要的模块,按住鼠标左键并拖曳至模型窗口即可。
(2)双击模块可在弹出的对话框中修改相应的模块参数
(3)在模块下方名称处双击可改变模块名称。
(2)模块操作(moduleoperation)
(a)模块的选择(moduleselection)
(b)移动模块(modulemoving)
(c)模块的缩放(moduleescaling)
(d)复制模块:
(modulecopy)
四种方法:
*在选定模块处,按下鼠标右键并拖动至适当位置;
*选定模块,在工具栏中(或Edit菜单中)选中Copy与Paste按钮;
*在选定的模块处点击鼠标右键,在弹出的菜单中选择Copy与Paste选项;
*按住”Ctrl”键,按下鼠标左键,将选定的模块拖至适当的位置。
(e)模块的旋转与翻转:
(Rotatingandturnoverofmodule)
旋转:
(rotate)将鼠标指向要翻转的模块并按下鼠标右键,选择弹出菜单中的Format栏中的Rotate项,模块顺时针旋转90o。
翻转:
将鼠标指向要翻转的模块并按下鼠标右键,选择弹出菜单中的Format栏中的FlipBlock项,模块顺时针旋转180o。
(f)模块的连接
(h)连接分支线
(i)改变连线的形状
(j)连线的标识:
在连线的上或下方(或窗口内任何位置)双击鼠标左键,可出现一个文本框用于输入说明文字。
(3).简单模型(Simplemode)
信号发生器发生幅值为1,频率为0.2HZ的正弦波信号,信号分别按1倍和5倍送入两个示波器。
2.模型的修饰(Modemodifying)
1.模块加阴影:
Format菜单中的Showdropshadow菜单项用于给模块加阴影。
2.调整颜色:
Format菜单中的Foregroundcolor菜单项用于调整模块的前景颜色。
Backgroundcolor菜单项用于选择模块的背景颜色。
Screencolor菜单项用于调整屏幕颜色。
3.变换模块名的显示位置:
Format菜单中的Flipname可将模块名换到对称的位置,Hidename可将模块名隐藏起来。
4.模块修饰的一个简单示例
三.仿真计算与分析方法(simulinkcalculationandthemethodofanalyzing)
1.连续系统建模(Modulecreatingofcontinuoussystem)
(1).用积分模块创建微分方程求解的模型(creatingthesolvemodeofdifferentialequationwithintegralmodules):
有二阶微分方程x’’+0.2x’+0.4x=0.2u(t),u(t)是单位阶跃函数,演示如何用积分器直接创建求解该微分方程的模型。
(a)改写微分方程为(reformingdifferentialequation):
x’’=0.2u(t)-0.2x’-0.4x
(b)利用Simulink库中的标准模块建模(CreatingmodewithmodulesinthelibraryofSimulink):
基本思路是x’’经积分后得x’,再积分得x,再将x’和x经代数运算得到x’’。
结果送入示波器,也可同时存储在工作空间变量simy中。
(2).用传递函数模块求解(Solvingbytransferfunctionmodule):
以二阶微分方程x’’+0.2x’+0.4x=0.2u(t)为例,初始状态为0,u(t)是单位阶跃函数。
对方程两边进行Laplace变换,得到:
s2X(s)+0.2sX(s)+0.4X(s)=0.2U(s)
整理后得传递函数:
(Transferfunction)
G(s)=X(s)/U(s)=0.2/(s2+0.2s+0.4)
利用上式采用传递函数模块可建立求解微分方程的模型。
2.Simulink结果的分析(Analyzingoftheresults):
执行simulink后检查输出结果并做进一步的分析与判断。
(1)输出信号的观察(outputsignalobservation)
(a)将信号输出到显示模块(Exportsignaltodisplaymodule)
*Scope(示波器):
将信号显示在示波器的独立窗口中,通过双击模块即可打开示波器模块。
*XYGraph显示器模块:
在MATLAB图形窗口绘制二维图形,
*Display模块:
将结果以数字形式显示出来,在模块中直接滚动显示。
标量、矢量和矩阵形式得结果输出窗口结构略有不同。
(b)将仿真结果存储到工作空间,再用绘图命令在命令窗口绘制图形,(savetheresultofsimulinktoworkspaceandplottingfigureonwindowbyusingplotcommand)
有三种方法可供选择:
*通过示波器模块向工作空间存储数据;
*通过选择Sinks函数库中的Toworkspace模块,将数据保存到工作空间的simout变量中,同时还可以产生一个存放时间数据的变量(缺省tout);
*通过Simulation菜单选择SimulationParemeter菜单项中的WorkspaceI/O页,根据各个参数的选择来确定存储的数据内容的类型。
(c).将仿真结果通过输出端口返回到MATLAB命令窗口,再利用绘图命令绘出输出图形(returntheresultofsimulinkfromexporttoMATLABwindowandthendrawingtheplotonwindowbyusingplotcommand):
在Sinks函数库中有一个名为Out1的模块,将数据输入到这个模块,该模块就会将数据输出到MATLAB命令窗口,并用名为yout的变量保存,同时还将时间数据用tout变量保存。
存储在工作空间的结果可以进行进一步的分析。
2.使用一般的分析工具(theusingofGeneralanalysistool)
(a).线性化:
将状态空间所描述的线性系统输入输出关系由下式表示:
x’=Ax+Bu
y=Cx+Du
其中:
x代表状态矢量
y代表输出矢量
u代表输入矢量
A,B,C,D为系统线性化的状态空间矩阵
如创建用于线性化的系统模型名为lmod,并保存为”lmod.mdl”.
在命令窗口输入命令[ABCD]=linmod(‘lmod’)就可以获得系统的常微分方程lmod的状态空间线性模型,返回系统线性化的状态空间矩阵。
[ABCD]=linmod(‘lmod’)
([A,B,C,D]=LINMOD('
SYS'
)obtainsthestate-spacelinearmodelofthe
systemofordinarydifferentialequationsdescribedinthe
blockdiagram'
whenthestatevariablesandinputsareset
tothedefaultsspecifiedintheblockdiagram.)
(b)由状态方程转成LTI对象(transferstateequationstoLTIobject):
一旦数据形成了状态空间形式或者转变成了LTI对象,就可以使用ControlSystemToolbox函数进行进一步的分析。
利用ss函数可将上面线性化的系统转成LTI对象,命令格式为:
sys=ss(A,B,C,D)
(c)绘制波德图:
(Bodeplotdrawing)用bode函数可绘制波德图,(相位、幅值与频率的关系图)
bode(A,B,C,D)或bode(sys)
BODE(SYS)drawstheBodeplotoftheLTImodelSYS(createdwith
eitherTF,ZPK,SS,orFRD).Thefrequencyrangeandnumberof
pointsarechosenautomatically.
(d)线性时间响应(Lineartimeresponse):
给一个阶跃信号(stepsignal):
step(A,B,C,D)或step(sys)线性化阶响应
或给一个脉冲信号(impulse):
impulse(A,B,C,D)或impulse(sys)线性化脉冲响应
(e)求系统平衡点(findthebalancepointofsystem):
在非线性系统中,分析评估系统稳定性或稳定状态时大多需要用到平衡点。
平衡点是指所有状态导数等于零的点。
若仅有部分状态导数等于零,则称为偏平衡点。
要使输出为1,并找出输入以及状态值时,可用”trim”函数来实现。
以前面创建的”lmod”模型为例:
%第一步:
对状态变量x以及输入u做初步设定,并设定想要的输出值。
x=[0;
0;
0];
u=0;
y=[1;
1];
%第二步:
使用索引变量确定那些值可变,那些是固定不变的。
ix=[];
%任何状态值可变
iu=[];
%任何输入可变
iy=[1,2];
%两个输出不能变
%第三步:
调用trim函数,求出系统平衡点。
[x,u,y,dx]=trim(‘lmod’,x,u,y,ix,iu,iy)
[A,B,C,D]=LINMOD('
lmod'
)%系统线性化的状态空间矩阵
sys=ss(A,B,C,D)%由状态方程转成LTI对象
figure
(1)
bode(sys)%绘制波德图,(相位、幅值与频率的关系图)
figure
(2)
step(A,B,C,D)%线性时间响应
x=[0;
%设定状态变量
%设定输入值
%设定想要的输出值
ix=[];
%表示状态不固定
iu=[];
%表示输入不固定
iy=[1,2];
%固定第一个输出及第二个输出
[x,u,y,dx]=trim('
x,u,y,ix,iu,iy)%求系统平衡点
A=-10-2
-211
010
B=0
1
0
C=-200
00-2
D=1
a=x1x2x3
x1-10-2
x2-211
x3010
b=u1
x10
x21
x30
c=x1x2x3
y1-200
y200-2
d=u1
y11
y20
x=1.3333
0.0000
-0.6667
u=3.3333
y=0.6667
1.3333
dx=1.0e-015*
-0.1110
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 专用 第七 Simulink 基础