仿真实验Word文件下载.docx

上传人:b****4 文档编号:16647817 上传时间:2022-11-25 格式:DOCX 页数:37 大小:373.98KB
下载 相关 举报
仿真实验Word文件下载.docx_第1页
第1页 / 共37页
仿真实验Word文件下载.docx_第2页
第2页 / 共37页
仿真实验Word文件下载.docx_第3页
第3页 / 共37页
仿真实验Word文件下载.docx_第4页
第4页 / 共37页
仿真实验Word文件下载.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

仿真实验Word文件下载.docx

《仿真实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《仿真实验Word文件下载.docx(37页珍藏版)》请在冰豆网上搜索。

仿真实验Word文件下载.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1