第八章 metlabSIMULINK交互式仿真集成环境Word格式文档下载.docx
- 文档编号:4128925
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:51
- 大小:1.47MB
第八章 metlabSIMULINK交互式仿真集成环境Word格式文档下载.docx
《第八章 metlabSIMULINK交互式仿真集成环境Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《第八章 metlabSIMULINK交互式仿真集成环境Word格式文档下载.docx(51页珍藏版)》请在冰点文库上搜索。
●选定多个模块的操作方法:
图8.2.2.1-2
(2)模块的复制
(3)模块的移动
(4)模块的删除
(5)改变模块大小
(a)原尺寸
(b)拖动边框
(c)新尺寸
图8.2.2.1-3
(6)模块的旋转
(a)缺省状态
(b)旋转1800
(c)旋转900
图8.2.2.1-4
(7)模块名的操作
(8)模块的阴影效果
8.2.2.2向量化模块和标量扩展
(1)向量化模块
(2)标量扩展
【例8.2.2.2-1】演示“示波”模块的向量显示能力。
图8.2.2.2-1-1
【例8.2.2.2-2】演示“求和”模块的向量处理能力:
输入扩展。
图8.2.2.2-2-1
【例8.2.2.2-3】演示“增益”模块的向量处理能力:
参数扩展。
图8.2.2.2-3-1
8.2.2.3参数设置
8.2.3信号线操作
8.2.3.1产生连线
(1)水平或垂直连线的产生
(2)斜连线的产生
(3)连线的移动和删除
8.2.3.2信号线的分支和折曲
(1)分支的产生
(2)信号线的折曲
(3)折点的移动
8.2.3.3信号线宽度显示
8.2.3.4彩色显示信号线
8.2.3.5插入模块
图8.2.3.5-1
8.2.3.6信号线标识(label)
【例8.2.3.6-1】演示:
信号线标识的传播
8.2.4对模型的注释
(1)模型注释的创建
(2)注释位置的移动
(3)注释文字的字体控制
8.2.5常用的Sourse库信源
【例8.2.5-1】如何调用MATLAB工作空间中的信号矩阵作为模型输入。
本例所需的输入为
。
(1)
[sourec0825_1.m]
functionTU=source0825_1(T0,N0,K)
t=linspace(0,K*T0,K*N0+1);
N=length(t);
u1=t(1:
(N0+1)).^2;
u2=(t((N0+2):
(2*N0+1))-2*T0).^2;
u3(1:
(N-(2*N0+2)+1))=0;
u=[u1,u2,u3];
TU=[t'
u'
];
(2)
图8.2.5-1
(3)
(4)
TU=source0825_1(1,100,4);
(5)
8.2.6常用的Sink库信宿
8.2.6.1库信宿一览表
8.2.6.2示波器
(1)示波器的用途
(2)示波器窗的工具条
(3)示波器纵坐标范围的手工设置
(4)示波器横坐标的设置
(5)把示波器数据送入MATLAB工作空间
(6)多信号显示区设置
(7)设置为游离示波器
8.2.7仿真的配置
8.2.7.1解算器参数的设置(Solver)
图8.2.7.1-1
8.2.7.2仿真数据的输入输出设置(WorkspaceI/O)
图8.2.7.2-1
8.2.7.3仿真中异常情况的诊断(Diagnostics)
图8.2.7.3-1
8.3连续系统建模
8.3.1线性系统
8.3.1.1积分模块的功用
【例8.3.1.1-1】复位积分器的功用示例。
图8.3.1.1-1
8.3.1.2积分模块直接构造微分方程求解模型
【例8.3.1.2-1】假设从实际自然界(力学、电学、生态等)或社会中,抽象出有初始状态为0的二阶微分方程
,
是单位阶跃函数。
本例演示如何用积分器直接构搭求解该微分方程的模型。
图8.3.1.2-1-1
(3)仿真操作
(4)保存在MATLAB工作空间中的数据
clf
tt=ScopeData.time;
xx=ScopeData.signals.values;
[xm,km]=max(xx);
plot(tt,xx,'
r'
'
LineWidth'
4),holdon
plot(tt(km),xm,'
b.'
MarkerSize'
36),holdoff
strmax=char('
最大值'
['
t='
num2str(tt(km))],['
x='
num2str(xm)]);
text(6.5,xm,strmax),xlabel('
t'
),ylabel('
x'
)
图8.3.1.2-1-2
8.3.1.3传递函数模块
【例8.3.1.3-1】直接利用传递函数模块求解方程(8.3.1.3-1)。
图8.3.1.3-1
8.3.1.4状态方程模块和单位脉冲输入的生成
【例8.3.1.4-1】假设式(8.3.1.4-1)中的输入函数
是单位脉冲函数
,研究该系统的位移变化。
本例演示:
(A)状态方程模块的使用;
(B)脉冲函数的生成方法。
图8.3.1.4-1-1
图8.3.1.4-1-2
8.3.2非线性系统
8.3.2.1建立非线性仿真模型的基本考虑
【例8.3.2.1-1】物理背景:
如图8.3.2.1-1-1所示喷射动力车的定位控制问题。
图8.3.2.1-1-1
图8.3.2.1-1-2
图8.3.2.1-1-3
(6)
subplot(1,2,1),plot(xout(:
2),xout(:
1))
gridon,axis([-0.2,1,-1,0.2]),axissquare
xlabel('
\fontsize{14}位移'
\fontsize{14}速度'
),
subplot(1,2,2),plot(xout(:
gridon,axis([-0.1,0.05,-0.05,0.1]),axissquare
图8.3.2.1-1-4
8.3.2.2任意非线性函数模块及其应用
【例8.3.2.2-1】轿车沿直线山坡路向前行驶。
要求设计一个简单的比例放大器,使轿车能以指定的速度运动。
(A)仿真系统的创建。
(B)非线性模块的使用。
(C)任意函数模块的应用。
(D)体现“自下而上”的建模方式。
(E)本例将作为下面章节多个算例的基础,读者切莫跳略此题。
图8.3.2.2-1-1
图8.3.2.2-1-2
图8.3.2.2-1-3
图8.3.2.2-1-4
8.4子系统的创建、装帧及受控执行
8.4.1简装子系统及其应用
8.4.1.1创建简装子系统的“先有内容后套包装”法
【例8.4.1.1-1】题目的背景和参数与例8.3.2.2-1完全相同,要求创建利用比例控制器使轿车的运动速度稳定在期望车速的分层仿真模型。
如何从非分层模型获得分层模型;
创建简装子系统的“先有内容后套包装”法。
图8.4.1.1-1
8.4.1.2创建简装子系统的“先有包装后置内容”法
【例8.4.1.2-1】本例演示:
如何自上而下构造分层模型;
产生简装子系统的“先有包装后置内容”法。
图8.4.1.2-1
8.4.2精装子系统
8.4.2.1精装子系统的制作过程
8.4.2.2装帧示例
【例8.4.2.2-1】目标:
把图8.4.1.1-1所示轿车速度控制模型中的轿车动态模型简装子系统变成精装子系统。
图8.4.2.2-1-1
图8.4.2.2-1-2
(7)
图8.4.2.2-1-3
(8)
图8.4.2.2-1-4
8.4.2.3精装子系统的使用特点
【例8.4.2.3-1】本例演示:
精装子系统参数对话窗的来源和外形特点;
如何打开精装子系统自身的“下层”结构模型;
精装子系统如何从外界获得参数。
图8.4.2.3-1-1
8.4.3条件执行子系统
8.4.3.1使能子系统
【例8.4.3.1-1】利用使能原理构成一个半波整流器。
本例演示使能子系统的创建及工作机理。
图8.4.3.1-1-1
图8.4.3.1-1-2
【例8.4.3.1-2】本例演示:
在使能子系统中插入滤波模块
。
图8.4.3.1-2-1
图8.4.3.1-2-2
8.4.3.2触发子系统
【例8.4.3.2-1】利用触发子系统获得零阶保持的采样信号。
触发子系统工作原理。
图8.4.3.2-1-1
[t,x,y]=sim('
exm080432_1'
10);
clf,holdon
plot(t,y(:
1),'
b'
)
stairs(t,y(:
2),'
3),'
c:
'
),holdoff
axis([010-1.11.1]),boxon
legend('
sinewave'
output'
trigger'
4)
图8.4.3.2-1-2
8.4.3.3触发使能子系统
8.4.3.4使能子系统和出发子系统综合运用示例
【例8.4.3.4-1】本例是前面例8.3.2.2-1,8.4.1.1-1,8.4.2.2-1的继续,使得汽车速度受两种不同的控制器操纵。
具体要求是:
(A)当汽车实际速度与期望速度的误差绝对值
,且
时,将切换为PI比例-积分控制器;
(B)一旦PI控制器被使用,只要仍满足
,那么PI将继续起控制作用;
(C)除以上情况外,则都使用简单的P比例控制器。
图8.4.3.4-1-1
图8.4.3.4-1-
图8.4.3.4-1-3
图8.4.3.4-1-4
图8.4.3.4-1-5
8.4.3.5交替执行子系统
【例8.4.3.5-1】在例8.4.3.4-1中,比例控制器和比例-积分控制器的工作切换是借助ModelSelector子系统产生的两个输出切换信号ChoosePI和ChooseP实现的。
本例将演示:
如何依靠一个ChoosePI信号和merge汇合模块的配合使用,实现同样的控制器切换。
图8.4.3.5-1
8.5离散时间系统和混合系统
8.5.1若干基本模块
(1)单位延迟模块Unitdelay
(2)零阶保持器Zero-Orderhold
(3)传递函数型模块
(4)组合逻辑模块Combinationallogic
(5)离散时间积分器Discrete-timeintegrator
【例8.5.1-1】用组合逻辑模块产生
的“逻辑和”结果
及“逻辑或”结果
表8.5.1-2
a
b
c
(1)
c
(2)
1
图8.5.1-1
8.5.2多速率离散时间系统
【例8.5.2-1】在离散控制系统中,控制器的更新频率一般低于对象本身的工作频率。
而显示系统的更新频率总比显示器的可读速度低得多。
假设有某过程的离散状态方程
式中
是输入。
该过程的采样周期为
秒。
控制器应用采样周期为
秒的比例控制器;
显示系统的更新周期为
(1)
图8.5.2-1-1
tt=TX.time;
x1=TX.signals.values;
plot(tt,x1),gridon,
kT'
x1(kT)'
8.5.3离散-连续混合系统
【例8.5.3-1】本例是在例8.4.2.2-1的基础上进行的。
目标是:
设计一个离散PID控制器子系统对轿车速度进行控制。
(A)离散PID的构成;
(B)展示仿真模型在研究控制器各参数影响上的能力。
图8.5.3-1-1
图8.5.3-1-2
图8.5.3-1-3
8.6SIMULINK的分析工具
8.6.1确定模型的特征
【例8.6.1-1】观察例8.5.3-1中所建模型exm08053_1.mdl中状态向量的结构。
[sizes,x0,StateCell]=exm08053_1;
SIZES=sizes'
X0=x0'
StateCell
SIZES=
2200003
X0=
0000
StateCell=
'
exm08053_1/AutomobileModel/Int1'
exm08053_1/AutomobileModel/Int2'
exm08053_1/PIDController/DT-I'
exm08053_1/PIDController/DD'
8.6.2用MATLAB指令运行SIMULINK模型
8.6.2.1运行SIMULINK模型的sim指令
8.6.2.2设置编辑仿真参数的simset指令
8.6.2.3获取模型仿真参数的simget指令
8.6.2.4MATLAB指令运行SIMULINK模型的示例
【例8.6.2.4-1】以例8.5.3-1中所建模型exm08053_1.mdl为基础进行本题解算。
演示:
(A)显示模型窗中的初始状态设置。
(B)把初始车速重置为120,而其他初始值仍为0。
(B)画出两种初始状态下的车速曲线。
InInit=simget('
exm08053_1'
InitialState'
)%获取模型窗对初始值的设置
100);
%在模型内设置参数下进行仿真
opts=simset('
[120,0,0,0]);
%初始值的重置
[tt,xx,yy]=sim('
100,opts);
%在重置初值下仿真
plot(t,x(:
:
tt,xx(:
\fontname{隶书}\fontsize{16}内初值'
外初值'
4)
图8.6.2.4-1
8.6.3模型的线性化问题
8.6.3.1线性化的数学描述
8.6.3.2连续系统的线性化模型
8.6.3.3离散系统的线性化模型
8.6.3.4模型线性化的算例
【例8.6.3.4-1】求非线性系统
在坐标原点处的线性化模型。
图8.6.3.4-1
[A,B,C,D]=linmod('
exm080634_1'
);
A
A=
00
2.0000-1.0000
[A1,B1,C1,D1]=linmod('
[1,0.5]);
A1
A1=
2.00001.0000
eA=eig(A)'
eA1=eig(A1)'
eA=
-1.00000
eA1=
2.5616-1.5616
8.6.4系统平衡点的求取
8.6.5综合算例
8.6.5.1“一步仿真”和精良状态轨迹斜率图
【例8.6.5.1-1】求非线性系统
的相平面轨迹、平衡点,并进行稳定性分析。
本例综合演示:
(A)SIMULINK模型和MATLAB指令的配合使用。
(B)sim,simset,trim指令的应用。
(C)“一步仿真”计算方法。
(D)二阶系统相轨迹的精良图形。
[exm080651_1.m]
%exm080651_1.m
clf;
holdon
xx=[-2,1;
-1,1;
0,1;
1,1;
1,0;
1,-1;
1,-2];
nxx=size(xx,1);
fork=1:
nxx
opts=simset('
initialstate'
[xx(k,1),xx(k,2)]);
[t,x,y]=sim('
10,opts);
plot(x(:
1),x(:
2));
end
x1'
ylabel('
x2'
),grid,holdoff
(2)
exm080651_1
图8.6.5.1-1-1
[portraitzzy.m]
function[DX1,DX2,DP]=portraitzzy(x1,x2,h)
%PORTRAITZZY
%
%
solver'
ode5'
fixedstep'
h);
%<
7>
n=length(x1);
X1=zeros(n,n);
X2=X1;
forii=1:
n;
forjj=1:
opts=simset(opts,'
[x1(ii),x2(jj)]);
%<
12>
exm08634_1'
h,opts);
13>
dx1=x(2,1)-x1(ii);
dx2=x(2,2)-x2(jj);
L=sqrt(dx1^2+dx2^2);
Z(jj,ii)=L;
ifL>
1.e-10
DX1(jj,ii)=dx1/L;
DX2(jj,ii)=dx2/L;
%<
19>
end
DP=Z/h;
h=0.01;
x1=-2.5:
0.25:
2.5;
x2=x1;
k=3.5;
[X1,X2]=portraitzzy(x1,x2,h);
quiver(x1,x2,k*X1,k*X2,0)
图8.6.5.1-1-2
surfc(x1,x2,Z),view([18,32]),xlabel('
图8.6.5.1-1-3
xa=trim('
[-1,-2]'
xb=trim('
[1,2]'
xa=
-0.8944
-1.7889
xb=
0.8944
1.7889
Axa=linmod2('
xa);
eig_Axa=(eig(Axa))'
Axb=linmod2('
xb);
eig_Axb=(eig(Axb))'
eig_Axa=
-1.3944-2.6457i-1.3944+2.6457i
eig_Axb=
3.4110-2.6222
8.6.5.2仿真模型和优化指令的协调
【例8.6.5.2-1】本例演示:
(A)如何用SIMULINK模块计算性能函数。
(B)SIMULINK方块模型、目标函数和优化程序之间的协调和参数传递。
(C)跨空间交换数据、跨空间计算表达式。
图8.6.5.2-1-1
[itae.m]
functionss=itae(aa)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八章 metlabSIMULINK交互式仿真集成环境 第八 metlabSIMULINK 交互式 仿真 集成 环境