仿真实验Word文件下载.docx
- 文档编号:16647817
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:37
- 大小:373.98KB
仿真实验Word文件下载.docx
《仿真实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《仿真实验Word文件下载.docx(37页珍藏版)》请在冰豆网上搜索。
B=[55;
78];
求A^2*B
A^2*B=
105115
229251
(2)矩阵除法
已知A=[123;
456;
789];
B=[100;
020;
003];
A\B,A/B
A\B=
1.0e+016*
-0.45041.8014-1.3511
0.9007-3.60292.7022
A/B=
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.0000+1.0000i0+6.0000i
2.0000-1.0000i4.0000
1.00009.0000-1.0000i
A'
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行的元素;
A中第3列前2个元素为:
A(3,1:
2)=
78
A(2:
3,:
)=
456789
A(1:
2,3)=
3
6
(5)方括号[]
用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列
4阶魔术矩阵
magic(4)
162313
511108
97612
414151
删除该矩阵的第四列
A=magic(4);
A(:
1:
3)
1623
51110
976
41415
3、多项式
(1)求多项式p(x)=x3+2x+4的根
p=[1024];
roots(p)
0.5898+1.7445i
0.5898-1.7445i
-1.1795
(2)已知A=[1.2350.9;
51.756;
3901;
1234],
求矩阵A的特征多项式;
求特征多项式中未知数为20时的值.
A的特征多项式
A=[1.2350.9;
1234];
p=poly(A)
p=
1.0000-6.9000-77.2600-86.1300604.5500
求特征多项式中未知数为20时的值;
polyval(p,20)
7.2778e+004
4、基本绘图命令
(1)绘制余弦曲线y=cos(t),t∈[0,2π]
(2)在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5),t∈[0,2π]
(1)绘制余弦曲线
t=0:
pi/100:
2*pi;
y=cos(t);
plot(t,y)
(2)绘制两个函数
y1=cos(t-0.25);
y2=sin(t-0.5);
plot(t,y1,t,y2)
5、基本绘图控制
绘制[0,4π]区间上的x1=10sint曲线,并要求:
(1)线形为点划线、颜色为红色、数据点标记为加号;
(2)坐标轴控制:
显示范围、刻度线、比例、网络线
(3)标注控制:
坐标轴名称、标题、相应文本;
程序如下:
t=0:
4*pi;
x1=10*sin(t);
plot(t,x1,'
r-.+'
title('
tfrom0to4{\pi}'
xlabel('
Variablet'
ylabel('
Variablex1'
gridon
text(2,5,'
曲线x1=10*sin(t)'
legend('
x1'
五、实验要求
利用所学知识,完成上述各项实验内容,并将实验过程和实验步骤和结果写在报告中。
实验二MATLAB数值运算与绘图
l.熟悉Matlab中各类数据,尤其是矩阵的定义、赋值和运用。
2.了解Matlab的矩阵分析函数以及求线性方程组的数值解;
3.熟悉多项式运算函数、数值插值。
2.MATLAB6.X环境
1.创建矩阵的方法
a.直接输入法规则:
矩阵元素必须用[]括住;
矩阵元素必须用逗号或空格分隔;
在[]内矩阵的行与行之间必须用分号分隔。
逗号和分号的作用:
逗号和分号可作为指令间的分隔符,matlab允许多条语句在同一行出现。
分号如果出现在指令后,屏幕上将不显示结果。
b.用matlab函数创建矩阵:
空阵[]—matlab允许输入空阵,当一项操作无结果时,返回空阵;
rand——随机矩阵;
eye——单位矩阵;
zeros——全部元素都为0的矩阵;
ones——全部元素都为1的矩阵
c.矩阵的修改:
可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即可修改;
指令修改:
可以用A(,)=来修改。
2.矩阵运算
a.矩阵加、减(+,-)运算规则:
(1)相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。
(2)允许参与运算的两矩阵之一是标量。
标量与矩阵的所有元素分别进行加减操作。
b.矩阵乘(,./,.\)运算规则:
A矩阵的列数必须等于B矩阵的行数
标量可与任何矩阵相乘。
c.矩阵乘方——a^n,a^p,p^a
a^p——a自乘p次幂,对于p的其它值,计算将涉及特征值和特征向量,如果p是矩阵,a是标量,a^p使用特征值和特征向量自乘到p次幂;
如a,p都是矩阵,a^p则无意义。
d.多项式运算
matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式降幂排列的。
f(x)=anxn+an-1xn-1+……+loa0
可用行向量p=[anan-1……a1+a0]表示;
poly——产生特征多项式系数向量
e.代数方程组求解
matlab中有两种除运算左除和右除。
四、实验内容
1.输入下列向量(矩阵)
g=[1234]
g=
1234
>
h=[4321]
h=
4321
2.分别执行以下数组点运算
s1=g+h
s1=
5555
s2=g.*h
s2=
4664
s3=g.^h
s3=
1894
s4=g.^2
s4=
14916
s5=2.^h
s5=
16842
3.输入下列特殊矩阵
〉〉A=[]
A=
[]
〉〉A=eye(10)
1000000000
0100000000
0010000000
0001000000
0000100000
0000010000
0000001000
0000000100
0000000010
0000000001
〉〉A=ones(5,10)
1111111111
A=rand(10,15)
A=
A=randn(5,10)
A=zeros(5,10)
A=
0000000000
0000000000
4.输入下列矩阵及矩阵函数
A=[20–1;
132];
B=[17–1;
423;
201];
20-1
132
B=
17-1
423
201
M=A*B%矩阵A与B按矩阵运算相乘
M=
014-3
171310
det_B=det(B)%矩阵A的行列式
det_B=
20
rank_A=rank(A)%矩阵A的秩
rank_A=
2
inv_B=inv(B)%矩阵B的逆矩阵
inv_B=
0.1000-0.35001.1500
0.10000.1500-0.3500
-0.20000.7000-1.3000
[V,D]=eig(B)%矩阵B的特征值矩阵V与特征向量构成的矩阵D
V=
-0.70940.74440.7444
-0.6675-0.3599+0.0218i-0.3599-0.0218i
-0.2263-0.5587-0.0607i-0.5587+0.0607i
D=
7.268000
0-1.6340+0.2861i0
00-1.6340-0.2861i
X=A/B%A/B=A*B-1,即XB=A,求X
X=
0.4000-1.40003.6000
0.00001.5000-2.5000
Y=B\A%B\A=B-1*A,即BY=A,求Y
Y=inv(B)*A
?
Errorusing==>
mtimes
Innermatrixdimensionsmustagree.
5.多项式运算
p=[120-56]%表示多项式
120-56
rr=roots(p)%求多项式p的根
rr=
-1.8647+1.3584i
-1.8647-1.3584i
0.8647+0.6161i
0.8647-0.6161i
pp=poly(rr)%由根的列向量求多项式系数
pp=
1.00002.00000.0000-5.00006.0000
s=[00123]%表示多项式
s=
00123
c=conv(p,s)%多项式乘积
c=
001471-4-318
d=polyder(p)%多项式微分
d=
460-5
x=-1:
0.1:
2;
y=polyval(p,x)%计算多项式的值
y=
Columns1through10
10.00009.69819.38569.05418.69768.31257.89767.45416.98566.4981
Columns11through20
6.00005.50215.01764.56214.15363.81253.56163.42613.43363.6141
Columns21through30
4.00004.62615.52966.75018.329610.312512.745615.678119.161623.2501
Column31
28.0000
6.有理多项式:
n=conv([10],[13])%定义分子多项式
d=conv([11],[113])%定义分母多项式
[r,p,k]=residue(n,d)%进行部分分式展开
p1=[1-p
(1)],p2=[1-p
(2)]
%定义两个极点多项式p1(s)=s-p
(1),p2(s)=s-p
(2)
n=conv([10],[13])
d=conv([11],[113])
[r,p,k]=residue(n,d)
p1=[1-p
(1)]
p2=[1-p
(2)]
n=
1030
1243
r=
-3.3333-4.0202i
-3.3333+4.0202i
6.6667
-0.5000+1.6583i
-0.5000-1.6583i
-1.0000
k=
p1=
1.5000-1.6583i
p2=
1.5000+1.6583i
den=conv(p1,p2)%求分母多项式den=p1(s)*p2(s)
den=
5.0000
num=conv(r,p2)+conv(r,p1)%求分子多项式
num=
-10.0000-12.0605i
-10.0000+12.0605i
20.0000
〉〉[num,den]=residue(r,p,k)%根据r,p,k的值求有理多项式
0.000010.000030.0000
1.00002.00004.00003.0000
7.函数插值运算
(1)线形样条插值
〉〉x=0:
10
y=sin(x)
x0=[3.44.76.58.2]
y0=interp1(x,y,x0)%线形插值
x1=0:
y1=sin(x1)
plot(x1,y1,'
r:
'
x,y,'
b*'
x0,y0,'
g.'
)%插值比较
clc
x=0:
10;
y=sin(x);
x0=[3.44.76.58.2];
y0=interp1(x,y,x0);
y1=sin(x1);
)
五、实验要求
利用所学知识,完成上述1至7项实验内容,并将实验结果写在实验报告上。
六、实验思考题
1.矩阵建立有哪几种方法?
(1).直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。
具体方法如下:
将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。
(2).利用M文件建立矩阵
对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。
(3).利用冒号表达式建立一个向量
(4).建立大矩阵
大矩阵可由方括号中的小矩阵或向量建立起来。
2.矩阵的加、减、乘、除运算规则是什么?
(1)矩阵加减运算
假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。
运算规则是:
若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。
如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。
(2)矩阵乘法
假定有两个矩阵A和B,若A为m×
n矩阵,B为n×
p矩阵,则C=A*B为m×
p矩阵。
(3)矩阵除法
在MATLAB中,有两种矩阵除法运算:
\和/,分别表示左除和右除。
如果A矩阵是非奇异方阵,则A\B和B/A运算可以实现。
A\B等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。
对于含有标量的运算,两种除法运算的结果相同,如3/4和4\3有相同的值,都等于0.75。
又如,设a=[10.5,25],则a/5=5\a=[2.10005.0000]。
对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。
对于矩阵运算,一般A\B≠B/A。
实验三Matlab基本编程方法
(设计性实验)
2、熟悉Matlab程序设计的基本方法
根据MATLAB基本数值计算、数据分析和图形函数的功能,按程序设计数学要求完成对象计算的MATLAB程序。
1、编写命令文件:
计算1+2+…+n<
2000时的最大n值;
y=0;
n=0;
whiley<
2000
n=n+1;
y=sum(1:
n)
end
n=n-1
2、编写函数文件:
分别用for和while循环结构编写程序,求2的0到15次幂的和。
sum1=0;
fori=0:
15
sum1=sum1+2^i;
sum2=0;
i=0;
while(i<
16)
sum2=sum2+2^i
i=i+1;
3、如果想对一个变量x自动赋值。
当从键盘输入y或Y时(表示是),x自动赋为1;
当从键盘输入n或N时(表示否),x自动赋为0;
输入其他字符时终止程序。
A=input('
输入一个字符:
);
a=A;
switcha
casea==y
x=1
casea==Y
casea==n
x=0
casea==N
otherwise
x=stop
end
利用所学知识,完成上述3项实验内容,并将实验用程序和结果写在实验报告上。
1.用FOR和WHILE语句有何要求?
2.用户数据的输入有那几种函数?
实验四控制系统仿真
(一)
(综合性实验)
1、掌握如何使用Matlab进行系统的时域分析
2、掌握如何使用Matlab进行系统的频域分析
3、掌握如何使用Matlab进行系统的根轨迹分析
1.PC机1台
根据Matlab控制系统常用函数编写出仿真软件,也可以根据SIMULINK完成实验。
1、时域分析
(1)根据下面传递函数模型:
绘制其单位阶跃响应曲线并从图上读取最大超调量,绘制系统的单位脉冲响应、零输入响应曲线。
num=conv(5,[156]);
den=[16108];
figure
(1);
subplot(2,2,1)
step(num,den,6)
title('
stepresponse'
subplot(2,2,2)
impulse(num,den,6)
impulseresponse'
x0=[1;
0;
0]
[A,B,C,D]=tf2ss(num,den)
subplot(2,2,3)
initial(A,B,C,D,x0)
initialresponse'
(2)典型二阶系统传递函数为:
当ζ=0.7,ωn取2、4、6、8、10、12的单位阶跃响应。
Wn=2
num=4;
den=[12.84];
Wn=4
Wn=6
(3)典型二阶系统传递函数为:
当ωn=6,ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的单位阶跃响应。
ζ=0.2
num=36;
den=[12.436];
ζ=0.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仿真 实验