计算机仿真技术与CAD.
课程名称: 计算机仿真技术与CAD
实验项目: 基于MATLAB的控制系统
实验地点: 多学科楼机房
专业班级: 自动化0904
学 号: 2009001182
学生姓名: 孙慧
指导教师: 李国勇
2012年 4 月 16 日
实验一
文本文件
1-1.利用MATLAB的文本文件,求函数y1=3*x1.^2+x2+x3;y2=3*x1.^2-x2-x3在x1=-2;x2=3;x3=1;是的值。
编辑文本文件
%ex1_1_1.m
x1=-2;x2=3;x3=1;
y1=3*x1.^2+x2+x3
y2=3*x1.^2-x2-x3
输入>> ex1_1_1
得出y1 =
16
y2 =
8
循环语句
1-3求的值。
解 MATLAB程序如下
%ex1_3_1.m
mysum=0;
for i=1:100
mysum=mysum+i;
end
mysum
输入>> ex1_3_1
得出
mysum =
5050
实验二
二维图形
>> x=0:0.1:2*pi;plot(x,sin(x),x,cos(x))
三维图形
>> t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)
2-3 对于单输入多输出系统G(s)=
解 在MATLAB命令窗口中,可将下列MATLAB命令表示
>> num=[0,0,3,2;1,0,2,5];den=[3,5,2,1];printsys(num,den)
执行后显示
num(1)/den =
3 s + 2
-----------------------
3 s^3 + 5 s^2 + 2 s + 1
num(2)/den =
s^3 + 2 s + 5
-----------------------
3 s^3 + 5 s^2 + 2 s + 1
实验三
3-1 假设单输入单输出系统如图所示,试根据四阶龙格库塔法,求输出量y的动态响应。
解 仿真程序如下
%ex3_1.m
r=2;numo=8;deno=[1,3,0];numh=1;denh=1;
[num,den]=feedback(numo,deno,numh,denh);[A,b,C,d]=tf2ss(num,den);
Tf=input('·???ê±??Tf=');h=input('????2?3¤h=');
x=[zeros(length(A),1)];y=0;t=0;
for i=1:Tf/h
K1=A*x+b*r;
K2=A*(x+h*K1/2)+b*r;
K3=A*(x+h*K2/2)+b*r;
K4=A*(x+h*K3)+b*r;
x=x+h*(K1+2*K2+2*K3+K4)/6;
y=[y;C*x];t=[t;t(i)+h];
end
plot(t,y)
实验四
6-5对图所示的模块进行仿真。
如图所示
实验五
9-14 对于如图所示的非线性控制系统,要求系统单位阶跃响应的上升时间小于12s,过渡时间小于25s,最大超调量小于15%,试求PID控制器的最佳参数Kp,Ki,Kd.。
设置上升时间,过渡时间,超调量
设置a1,a2
添加Kp,ki,kd