MATLAB实验报告.docx
- 文档编号:6890221
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:18
- 大小:516.33KB
MATLAB实验报告.docx
《MATLAB实验报告.docx》由会员分享,可在线阅读,更多相关《MATLAB实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
MATLAB实验报告
控制系统计算机仿真与辅助设计
实验报告
姓名:
杨荣宗
学号:
913110200228
学院:
自动化学院
专业:
自动化
指导老师:
张益军
实验一
1.2
功能函数
functionPx=Piecewise_x(x)
Px=sin(x.^2).*(x>=0&x<2)+exp(cos(x)).*(x>=2&x<4)-log(x).*(x>=4&x<=6);
end
程序主体
x=linspace(0,6);
Px=Piecewise_x(x);
plot(x,Px);
holdon;
plot(2*ones(1,2),ylim,'r:
');
plot(4*ones(1,2),ylim,'r:
1.2
功能函数
functionPxy=Piecewise_xy(x,y)
Pxy=(x.^2-y.^2).*(abs(x-y)<2)+exp(-abs(x-y)).*(abs(x-y)>=2;
end
程序主体
[x,y]=meshgrid(-3:
0.1:
3);
s=size(x)
Pxy=zeros(s
(1),s
(2));
fori=1:
s
(1)
forj=1:
s
(2)
Pxy(i,j)=Piecewise_xy(x(i,j),y(i,j));
end
end
mesh(x,y,Pxy)
1.4
功能函数
functionZxy=Pw_xy(x,y)
Zxy=x.*y.^2.*exp(-(x.^2+y.^2)).*(-4<=x&y<=4);
end
程序主体
[x,y]=meshgrid(-4:
0.1:
4);
s=size(x)
Zxy=zeros(s
(1),s
(2));
fori=1:
s
(1)
forj=1:
s
(2)
Zxy(i,j)=Pw_xy(x(i,j),y(i,j));
end
end
mesh(x,y,Zxy)
1.5
num=[1];den=[2,0.5,0.4];
t=[0:
0.01:
100];
[y,x,t]=impulse(num,den,t);
plot(t,y);grid
xlabel('time[sec]'),ylabel('impulseresponse')
num=[1];den=[2,0.5,0.4];
t=[0:
0.01:
100];
[y,x,t]=step(num,den,t);
plot(t,y);grid
xlabel('time[sec]'),ylabel('stepresponse')
实验二
1
(1)状态方程模型参数:
num=[172424];
den=[110355024];
[ABCD]=tf2ss(num,den)
结果:
A=
B=
C=
D=[0]
模型:
=
X+
u,y=
X
(2)零极点增益:
num=[172424];
den=[110355024];
[ZPK]=tf2zp(num,den)
Z=-2.7306+2.8531,-2.7306-2.8531i,-1.5388
P=-4,-3,-2,-1
K=1
(3)部分分式形式:
num=[172424];
den=[110355024];
[RPH]=residue(num,den)
得到结果R=4.0000,-6.0000,2.0000,1.0000
P=-4.0000,-3.0000,-2.0000,-1.0000
H=[]
G(s)=
阶跃响应程序:
num=[172424];
den=[110355024]
sys=tf(num,den);
t=linspace(0,10);
step(sys,t);
脉冲响应程序:
num=[1,7,24,24];
den=[1,10,35,50,24];
sys=tf(num,den);
t=linspace(0,10);
impulse(sys,t);
2
(1)传递函数模型参数:
编写程序
A=[2.25-5-1.25-0.5
2.25-4.25-1.25-0.25
0.25-0.5-1.25-1
1.25-1.75-0.25-0.75];
B=[4220]';
C=[0202];
D=[0];
[numden]=ss2tf(A,B,C,D)
得到结果:
num=04.000014.000022.000015.0000
den=1.00004.00006.25005.25002.2500
(2)零极点增益模型参数:
编写程序
A=[2.25-5-1.25-0.5
2.25-4.25-1.25-0.25
0.25-0.5-1.25-1
1.25-1.75-0.25-0.75];
B=[4220]';
C=[0202];
D=[0];
[Z,P,K]=ss2zp(A,B,C,D)
结果
Z=-1.0000+1.2247i-1.0000-1.2247i-1.5000
P=-0.5000+0.8660i-0.5000-0.8660i-1.5000-1.5000
K=4.0000
表达式
(3)部分分式形式的模型参数:
编写程序A=[2.25-5-1.25-0.5
2.25-4.25-1.25-0.25
0.25-0.5-1.25-1
1.25-1.75-0.25-0.75];
B=[4220]';
C=[0202];
D=[0];
[numden]=ss2tf(A,B,C,D)
[R,P,H]=residue(num,den)
结果
R=4.0000-0.00000.0000-2.3094i0.0000+2.3094i
P=-1.5000-1.5000-0.5000+0.8660i-0.5000-0.8660i
H=[]
脉冲响应程序:
A=[2.25,-5,-1.25,-0.5;
2.25,-4.25,-1.25,-0.25;
0.25,-0.5,-1.25,-1;
1.25,-1.75,-0.25,-0.75];
B=[4;2;2;0];
C=[0,2,0,2];
D=0;
Sys=ss(A,B,C,D);
t=linspace(0,10);
impulse(sys,t);
阶跃响应程序A=[2.25,-5,-1.25,-0.5;
2.25,-4.25,-1.25,-0.25;
0.25,-0.5,-1.25,-1;
1.25,-1.75,-0.25,-0.75];
B=[4;2;2;0];
C=[0,2,0,2];
D=0;
Sys=ss(A,B,C,D);
t=linspace(0,10);
step(sys,t);
2.2与2.3
clc;clear;
h=0.1;
x
(1)=1;
y
(1)=1;
z
(1)=1;
t
(1)=0;
fori=1:
100
x(i+1)=x(i)-h*x(i);
y(i+1)=y(i)-(2*y(i)-h*y(i))*h/2;
t(i+1)=t(i)+h;
z(i+1)=exp(-t(i+1));
end
plot(t,x,'b:
',t,y,'r--',t,z,'g-');
legend('欧拉解','龙格库塔解','真解');
disp('欧拉解方差为');
f1=sum((x-z).^2)/length(t)
disp('龙格库塔解方差为');
f2=sum((z-y).^2)/length(t)
2.4simulink对2.2的仿真
实验三
1(a)
functiondx=sys(t,x)
dx=zeros(2,1);
dx
(1)=-x
(1)+0.85*(abs(x
(1)+1)-abs(x
(1)-1))-0.5*(abs(x
(2)+1)-abs(x
(2)-1))-0.3;
dx
(2)=-x
(2)+0.5*(abs(x
(1)+1)-abs(x
(1)-1))+0.85*(abs(x
(2)+1)-abs(x
(2)-1))+0.3;
End
调用代码:
[T,Y]=ode45('sys',[0130],[1,1]);
plot(Y(:
1),(:
2))
(b)若系统参数如下选取时,试用simulink仿真该系统,画出x1-x2平面的图像。
=-0.6,
=1.82,s1=2,s2=2.5,i1=i2=0
2
(a)试给出系统在单位阶跃下的响应曲线,并给出解释;
(b)试给出系统脉冲响应曲线,并给出解释;
(c)试设计一个PID控制器,使得系统在单位阶跃响应下能稳定,给出系统的仿真框架,Kp,Ki,Kd的值,画出系统的响应曲线。
内环p=1.528,d=0.169,外环p=0.12,d=0.10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 实验 报告