MATLAB实验报告文档格式.docx
《MATLAB实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB实验报告文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
A=[123;
>
B=[100;
C=A\B%左除
Warning:
Matrixisclosetosingularorbadlyscaled.
Resultsmaybeinaccurate.RCOND=1.541976e-018.
(Type"
warningoffMATLAB:
nearlySingularMatrix"
tosuppressthiswarning.)
C=
1.0e+016*
-0.45041.8014-1.3511
0.9007-3.60292.7022
D=A/B%右除
D=
1.00001.00001.0000
4.00002.50002.0000
7.00004.00003.0000
(3)矩阵的转置及共轭转置
已知A=[5+i,2-i,1;
6*i,4,9-i];
求A.'
A'
A=[5+i,2-i,1;
B=A.'
C=A'
B=
5.0000+1.0000i0+6.0000i
2.0000-1.0000i4.0000
1.00009.0000-1.0000i
5.0000-1.0000i0-6.0000i
2.0000+1.0000i4.0000
1.00009.0000+1.0000i
(4)使用冒号表达式选出指定元素
已知:
A=[123;
求A中第3列前2个元素;
A中所有列第2,3行的元素;
方括号[]
B1=A([12],[3])
B2=A([2,3],:
)
结果如下:
B1=
3
6
B2=
456
789
用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列
n=4;
A=magic(4)
B=A(:
[123])
A=
162313
511108
97612
414151
1623
51110
976
41415
3、多项式?
(1)求多项式
的根;
p=[10-2-4];
r=roots(p)
r=
2.0000
-1.0000+1.0000i
-1.0000-1.0000i
(2)已知A=[1.2350.9;
51.756;
3901;
1234],
求矩阵A的特征多项式;
A=[1.2350.9;
1234];
p=poly(A)
p=
1.0000-6.9000-77.2600-86.1300604.5500
把矩阵A作为未知数代入到多项式中;
p=poly(A);
B=polyvalm(p,A)
0.1364-0.33500.00800.1421
-0.0455-0.0114-0.1627-0.0909
-0.30840.1705-0.0227-0.2217
0.0171-0.1265-0.03270.0227
4、基本绘图命令
(1)绘制余弦曲线y=cos(t),t∈[0,2π]
t=[0:
0.05:
2*pi];
%定义二维曲线横坐标范围
y=cos(t);
%写出函数表达式
plot(t,y)%绘图命令
(2)在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5),t∈[0,2π]
t=[0:
y1=cos(t-0.25);
%写出函数表达式y1
y2=sin(t-0.5);
%写出函数表达式y2
plot(t,y1);
%绘图命令
holdon;
plot(t,y2)
5、基本绘图控制
绘制[0,4π]区间上的x1=10sint曲线,并要求:
(1)线形为点划线、颜色为红色、数据点标记为加号;
t=0:
0.1:
4*pi;
x1=10*sin(t);
plot(t,x1,'
-.r+'
(2)坐标轴控制:
显示范围、刻度线、比例、网络线
),gridon
(3)标注控制:
坐标轴名称、标题、相应文本;
),gridon;
title('
x1=10sint曲线'
);
xlabel('
x轴'
ylabel('
y轴'
6、基本程序设计
(1)编写命令文件:
计算1+2+…+n<
2000时的最大n值;
s=0;
n=0;
while(s<
2000)
n=n+1;
s=s+n;
end;
n=n-1
n=
62
(2)编写函数文件:
分别用for和while循环结构编写程序,求2的0到n次幂的和。
functions=kuang(n,i)
for(i=0:
n)
s=s+2^i;
end
(4)如果想对一个变量x自动赋值。
当从键盘输入y或Y时(表示是),x自动赋为1;
当从键盘输入n或N时(表示否),x自动赋为0;
输入其他字符时终止程序。
x=input('
请输入:
'
'
s'
if(x=='
y'
||x=='
Y'
z=1;
elseif(x=='
n'
N'
z=0;
else('
error'
x,z
实验二控制系统的模型及其转换
1、掌握建立控制系统模型的函数及方法;
2、掌握控制系统模型间的转换方法及相关函数;
3、熟悉控制系统模型的连接方法;
4、掌握典型系统模型的生成方法。
1.控制系统模型
1.1系统的模型为
试建立系统的传递函数模型。
s=tf('
G=4*(s+2)*(s^2+6*s+6)/(s*(s+1)^3*(s^3+3*s^2)+2*s+5)
Transferfunction:
4s^3+32s^2+72s+48
-----------------------------------------------
s^7+6s^6+12s^5+10s^4+3s^3+2s+5
1.2已知单输入双输出系统的零极点模型
建立系统的零极点模型。
s=zpk('
g1=3*(s+12)/((s+3)*(s+4)*(s+5));
g2=4*(s+5)*(s+3)/((s+3)*(s+4)*(s+5));
G=[g1;
g2]
Zero/pole/gainfrominputtooutput...
3(s+12)
#1:
-----------------
(s+3)(s+4)(s+5)
4(s+5)(s+3)
#2:
g1=zpk([-12],[-3;
-4;
-5],3);
g2=zpk([-5;
-3],[-3;
-5],4);
1.3给定系统的状态空间表达式,
建立系统的状态空间模型。
A=[-2.8-1.400;
1.4000;
-1.8-0.3-1.4-0.6;
000.60];
B=[1;
0;
1;
0];
C=[0001];
D=zeros
(1);
G=ss(A,B,C,D)
a=
x1x2x3x4
x1-2.8-1.400
x21.4000
x3-1.8-0.3-1.4-0.6
x4000.60
b=
u1
x11
x20
x31
x40
c=
y10001
d=
y10
Continuous-timemodel.
2.控制系统模型的转换
2.1将1.1的模型转换为零极点模型
G=4*(s+2)*(s^2+6*s+6)/(s*(s+1)^3*(s^3+3*s^2)+2*s+5);
G1=zpk(G)
Zero/pole/gain:
4(s+4.732)(s+2)(s+1.268)
----------------------------------------------------------------------------
(s+2.995)(s^2+3.06s+2.549)(s^2-1.089s+0.5457)(s^2+1.034s+1.2)
2.2将1.2的模型转换为状态空间模型
g2];
G2=ss(G)
x1x2x3
x1-340
x20-416
x300-5
x10
x32
y10.21090.093750
y2-9.714e-0170.1252
y20
2.3将1.3的模型转换为零极点模型
A=[-2.8-1.400;
G=ss(A,B,C,D);
G3=zpk(G)
0.6(s^2+s+1.54)
------------------------------
(s+1.4)^2(s+1.061)(s+0.3394)
3.控制系统模型的连接:
已知两个系统
求按串联、并联、系统2联接在反馈通道时的负反馈系统的状态方程。
A1=[01;
1-2];
B1=[0;
1];
C1=[13];
D1=[1];
G1=ss(A1,B1,C1,D1);
A2=[01;
-1-3];
B2=[0;
C2=[14];
D2=zeros(1,1);
G2=ss(A2,B2,C2,D2);
G=G2*G1
x10100
x2-1-313
x30001
x4001-2
x21
x30
x41
y11400
G=G1+G2
x21-200
x400-1-3
y11314
y11
G3=feedback(G1,G2)
x21-2-1-4
x413-2-7
y113-1-4
4、典型系统的生成:
4典型二阶系统
试建立
时的系统传递函数模型。
H=36/(s^2+1.2*s+36)
36
----------------
s^2+1.2s+36
5、连续系统的离散化:
对连续系统
在采样周期T=0.1时进行离散化。
z=[-3];
p=[-1;
-2;
-5];
G=zpk(z,p,6);
G1=c2d(G,0.1)
0.025525(z+0.8468)(z-0.7408)
--------------------------------
(z-0.9048)(z-0.8187)(z-0.6065)
Samplingtime:
0.1
实验三控制系统的时域、频域和根轨迹分析
1、掌握如何使用Matlab进行系统的时域分析
2、掌握如何使用Matlab进行系统的频域分析
3、掌握如何使用Matlab进行系统的根轨迹分析
1、时域分析
1.1、某系统的开环传递函数为
试编程求系统在单位负反馈下的阶跃响应曲线,并求最大超调量。
G=tf([20],[1836400]);
step(feedback(G,1))
1.2、典型二阶系统
编程求:
当
分别取值为0.2、0.4、0.6、0.8、1.0、1.5、2.0时的单位阶跃响应曲线。
w=6;
a=0.2;
s=tf('
G=w^2/(s^2+2*a*w*s+w^2);
step(G)
a=0.4;
a=0.6;
a=0.8;
a=1.0;
a=1.5;
a=2.0;
1.3、典型二阶系统传递函数为:
绘制当:
分别取2、4、6、8、10、12时的单位阶跃响应曲线。
a=0.7;
w=2;
w=4;
w=6;
w=8;
w=10;
w=12;
2、根轨迹分析
根据下面负反馈系统的开环传递函数,绘制系统根轨迹,并分析使系统稳定的K值范围。
G=1/(s*(s+1)*(s+3));
rlocus(G)
3、频域分析
典型二阶系统传递函数为:
3.1绘制当:
取2、4、6、8、10、12时的伯德图
a=0.7;
forw=2:
2:
12
bode(G);
figure;
3.2绘制当:
分别取0.2、0.4、0.6、0.8、1.0、1.5、2.0时的伯德图。
实验四动态仿真集成环境—Simulink
1、熟悉Simulink模块库中常用标准模块的功能及其应用;
2、掌握利用Simulink在用户窗口中建立控制系统仿真模型的方法;
3、掌握模块参数和仿真参数的设置以及建立子系统的方法。
二、实验内容
1.用Simulink对以下系统进行仿真
其中u(t)为系统输入,y(t)为系统输出,仿真当输入为正弦信号时,输出的信号的波形,仿真时
间0<
t<
100。
2.在滑艇的运行过程中,滑艇主要受到如下作用力的控制:
滑艇自身的牵引力F,滑艇受到的水的阻力
。
其中水的阻力
,
为滑艇的运动速度。
由运动学的相关定理可知,整个滑艇系统的动力学方程为:
其中,m为滑艇的质量。
假设滑艇的质量为1000kg,建立此系统的Simulink模型并进行分析。
3.输入教材中P198中例题5-2并作仿真。
(不做)