MATLAB矩阵与绘图.docx

上传人:b****2 文档编号:1246146 上传时间:2023-04-30 格式:DOCX 页数:21 大小:237.96KB
下载 相关 举报
MATLAB矩阵与绘图.docx_第1页
第1页 / 共21页
MATLAB矩阵与绘图.docx_第2页
第2页 / 共21页
MATLAB矩阵与绘图.docx_第3页
第3页 / 共21页
MATLAB矩阵与绘图.docx_第4页
第4页 / 共21页
MATLAB矩阵与绘图.docx_第5页
第5页 / 共21页
MATLAB矩阵与绘图.docx_第6页
第6页 / 共21页
MATLAB矩阵与绘图.docx_第7页
第7页 / 共21页
MATLAB矩阵与绘图.docx_第8页
第8页 / 共21页
MATLAB矩阵与绘图.docx_第9页
第9页 / 共21页
MATLAB矩阵与绘图.docx_第10页
第10页 / 共21页
MATLAB矩阵与绘图.docx_第11页
第11页 / 共21页
MATLAB矩阵与绘图.docx_第12页
第12页 / 共21页
MATLAB矩阵与绘图.docx_第13页
第13页 / 共21页
MATLAB矩阵与绘图.docx_第14页
第14页 / 共21页
MATLAB矩阵与绘图.docx_第15页
第15页 / 共21页
MATLAB矩阵与绘图.docx_第16页
第16页 / 共21页
MATLAB矩阵与绘图.docx_第17页
第17页 / 共21页
MATLAB矩阵与绘图.docx_第18页
第18页 / 共21页
MATLAB矩阵与绘图.docx_第19页
第19页 / 共21页
MATLAB矩阵与绘图.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB矩阵与绘图.docx

《MATLAB矩阵与绘图.docx》由会员分享,可在线阅读,更多相关《MATLAB矩阵与绘图.docx(21页珍藏版)》请在冰点文库上搜索。

MATLAB矩阵与绘图.docx

MATLAB矩阵与绘图

实验一、MATLAB矩阵与绘图

一、实验目的及要求

1.熟悉MATLAB语言环境

2.练习MATLAB命令的矩阵和基本绘图操作

二、实验内容

习题1:

用文字或命令演示结果说明以下函数的意义who,whos,help,lookfor,demos,clc,clf,clear,contro-c(^c)

程序:

x=1:

50;

>>y=2*x+1;

>>plot(x,y,'*')

演示1:

>>who

Yourvariablesare:

xy

演示2:

>>whos

NameSizeBytesClass

x1x50400doublearray

y1x50400doublearray

Grandtotalis100elementsusing800bytes

演示3

Help再加所要查询的语句,将会出现其详细的用法和它的应用举例,下面是运行结果的一部分:

(help是在确知你所要查询的情况下)

>>helpplot

PLOTLinearplot.

PLOT(X,Y)plotsvectorYversusvectorX.IfXorYisamatrix,

thenthevectorisplottedversustherowsorcolumnsofthematrix,

whicheverlineup.IfXisascalarandYisavector,length(Y)

disconnectedpointsareplotted.

PLOT(Y)plotsthecolumnsofYversustheirindex.

IfYiscomplex,PLOT(Y)isequivalenttoPLOT(real(Y),imag(Y)).

InallotherusesofPLOT,theimaginarypartisignored.

Variouslinetypes,plotsymbolsandcolorsmaybeobtainedwith

PLOT(X,Y,S)whereSisacharacterstringmadefromoneelement

fromanyorallthefollowing3columns:

bblue.point-solid

ggreenocircle:

dotted

rredxx-mark-.dashdot

ccyan+plus--dashed

mmagenta*star

yyellowssquare

kblackddiamond

vtriangle(down)

^triangle(up)

>triangle(right)

ppentagram

hhexagram

等等…

演示4:

如果查询一个不知其函数名称的函数用法与功能,help不能完成此功能,lookfor可以根据相关的关键字来查询相关的函数,演示如下:

SS2TFState-spacetotransferfunctionconversion.

TF2SSTransferfunctiontostate-spaceconversion.

TF2ZPTransferfunctiontozero-poleconversion.

TFCHKCheckforpropertransferfunction.

ZP2TFZero-poletotransferfunctionconversion.

MATQDLGWorkspacetransferdialogbox.

DTF2SSDiscretetransferfunctiontostate-spaceconversion.

SFUNTFanS-functionwhichperformstransferfunctionanalysisusingffts.

OCT2GENConvertanoctalformoftransferfunctionintoabinaryone.

SIM2GENConvertsaSimulinkblockdiagramtoconvolutioncodetransferfunction.

sim2gen2.m:

%SIM2GENConvertsaSIMULINKblockdiagramtoconvolutioncodetransferfunction.

SIM2TRANConvertsaSimulinkblockdiagramtoconvolutioncodetransferfunction.

FILTDSP-orientedspecificationofdiscretetransferfunctions.

上述也只是程序的一部分。

演示5:

demos

演示6:

clc运行后会将命令窗口的所有内容删除,但变量窗口等的数据依然存在。

演示7:

clear运行后,workplace中内容全部清空。

演示8:

clf是清除绘图窗口中的内容。

演示9:

contro-c(^c)

习题2:

已知矩阵

1)求A的逆矩阵;

2)已知A*x=B,求x;

3)显示命令A(4,[2,4]),A(2:

end,3)的输出结果,并用类似取地址的命令从A矩阵中取出矩阵

并计算C*D,C.*D,C*E,C*8。

解答:

A=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10]

B=[4;-3;9;-8;]

1)求A的逆矩阵;

>inv(A)

ans=

0.28400.39640.13230.3277

0.22130.20430.16870.3090

0.00210.04030.12040.0547

0.06020.14370.01910.1530

2)已知A*x=B,求x;

x=inv(A)*B,程序及运行结果如下:

>>x=inv(A)*B

x=

-1.4841

-0.6816

0.5337

-1.2429

3)①>>A(4,[2,4])

ans=

510

②>>A(2:

end,3)

ans=

4

8

-2

③>>C=A(1:

3,2:

4)

C=

4-7-12

-742

08-5

④>>D=A(2:

4,1:

3)

D=

5-74

108

-65-2

⑤>>E=A([134],[12])

ans=

34

10

-65

⑥>>C*D

ans=

85-88-16

-43590

38-2574

>>C.*D

ans=

2049-48

-7016

04010

>>C*E

ans=

77-44

-29-18

38-25

>>C*8

ans=

32-56-96

-563216

064-40

习题3:

求多项式的根.

a=[10250];

b=[1-3446];

c=conv(a,b)

roots(c)

运行结果:

c=

1-3471-85011500

 

ans=

0

32.5885

-0.0000+5.0000i

-0.0000-5.0000i

1.4115

习题4:

对数组x=[0:

0.1:

2.5],y=[00.112460.22270.328630.428390.52050.603860.67780.74210.796910.84270.880210.910310.934010.952290.966110.976350.983790.989090.992790.995320.997020.998140.998860.999310.99959];进行5阶多项式拟合,并绘制出拟合曲线和原始的采样点。

参考函数:

roots,poly,conv,polyval,polyfit

程序:

x0=[0:

0.1:

2.5];

y0=[00.112460.22270.328630.428390.52050.603860.67780.74210.796910.84270.880210.910310.934010.952290.966110.976350.983790.989090.992790.995320.997020.998140.998860.999310.99959];

n=5;

p=polyfit(x0,y0,n)

%xx=0:

0.01:

1;

yy=polyval(p,x0)

plot(x0,yy,'o',x0,y0),xlabel('x')

运行结果:

p=

-0.03520.2435-0.51010.00731.1378-0.0007

习题五

习题5:

认真观察以下图形线性、标注、坐标轴、栅格等特点,写出绘制该图形的命令

程序:

x=0:

pi/10:

2*pi;

y1=(sin(2*x)).^2;

y2=0.5*cos(2*x).*sin(2*x);

y3=2*sin(x)+cos(x);

y4=y1+y2+y3;

subplot(2,2,1),plot(x,y2,':

g',x,y2,'*g'),ylabel('y2'),gridon,axis([0,7,-0.3,0.3]),title('y2=0.5cos(2x)sin(2x),0:

pi/10:

2*pi');

subplot(2,2,2),plot(x,y1,x,y3),axis([0,10,-4,4]),gtext('y1=sin((2*x).^2)');gtext('y3=2*sin(x)+cos(x)');

subplot(2,2,3),plot(x,y1,':

r',x,y3,'o:

g'),axis([0,10,-4,4]),legend('y1=sin((2*x).^2)','y3=2*sin(x)+cos(x)');

subplot(2,2,4),stairs(y4),axis([0,25,-3,3]),title('y4=y1+y2+y3;(用stairs函数绘图)'),gtext('需要用axis调整坐标轴范围')

图形:

1、用ones和diag函数生成下列矩阵

(1)

程序:

clear;

clc;

A=ones(7);

A(2:

6,2:

6)=3;

A(3:

5,3:

5)=5;

A(4,4)=7;

A

结果:

A=

1111111

1333331

1355531

1357531

1355531

1333331

1111111

(2)

程序:

clear;

clc;

B0=[44444];

B1=[0];

B2=[00];

B3=[222];

B4=[3333];

B5=[5555];

B6=[666];

V0=diag(B0,0);

V1=diag(B1,-4);

V2=diag(B2,-3);

V3=diag(B3,-2);

V4=diag(B4,-1);

V5=diag(B5,1);

V6=diag(B6,2);

V7=diag(B2,3);

V8=diag(B1,4);

V=V0+V1+V2+V3+V4+V5+V6+V7+V8

运行结果:

V=

45600

34560

23456

02345

00234

2、已知矩阵A=

,求矩阵的转置,逆矩阵,矩阵的秩、矩阵的行列式,矩阵的三次幂,矩阵的特征值和特征向量。

已知矩阵B=

,求矩阵A和B的矩阵乘积和数组乘积。

A=[1,8,7;2,9,6;3,4,5]

B=[8,8,4;4,4,5;1,1,1]

A'

ans=

123

894

765

>>inv(A)

ans=

-0.43750.25000.3125

-0.16670.3333-0.1667

0.3958-0.41670.1458

>>rank(A)

ans=

3

>>det(A)

ans=

-48

>>A^3

ans=

52416361364

57417851482

39612081012

>>[vd]=eig(A)

v=

-0.6041-0.89180.0739

-0.6587-0.0824-0.6523

-0.44840.44490.7543

d=

14.918400

0-1.75340

001.8350

矩阵乘积:

A*B

ans=

474751

585859

454537

数组乘积:

>>A.*B

ans=

86428

83630

345

3、使用randn命令创建一个5*6的数组,

1)寻找该数组中大于0的元素,并将这些元素重新赋值为1;

2)求各列的平均值和方差。

求全体元素的平均值和方差。

>a=randn(5,6)

a=

-0.43261.1909-0.18670.11390.29440.8580

-1.66561.18920.72581.0668-1.33621.2540

0.1253-0.0376-0.58830.05930.7143-1.5937

0.28770.32732.1832-0.09561.6236-1.4410

-1.14650.1746-0.1364-0.8323-0.69180.5711

>>a(find(a>0))

ans=

0.1253

0.2877

1.1909

1.1892

0.3273

0.1746

0.7258

2.1832

0.1139

1.0668

0.0593

0.2944

0.7143

1.6236

0.8580

1.2540

0.5711

>>a(find(a>0))=1

a=

-0.43261.0000-0.18671.00001.00001.0000

-1.66561.00001.00001.0000-1.33621.0000

1.0000-0.0376-0.58831.00001.0000-1.5937

1.00001.00001.0000-0.09561.0000-1.4410

-1.14651.0000-0.1364-0.8323-0.69181.0000

>>mean(a)

ans=

-0.24890.79250.21770.41440.1944-0.0069

>>mean(mean(a))

ans=

0.2272

>>var(a)

ans=

1.49150.21530.54060.71081.26871.9040

>>var(var(a))

ans=

0.407

4、列出5种变量初始化的方法。

⑴逐个元素输入法

>>b=[001589]

b=

001589

⑵冒号生成法

>>b=0:

0.5:

3

b=

00.50001.00001.50002.00002.50003.0000

⑶定数线性采样法

>>b=linspace(0,10,10)

b=

01.11112.22223.33334.44445.55566.66677.77788.888910.0000

(4)用单下标方式给矩阵赋值:

>>a=[1,2,3;5,8,9]

a=

123

589

>>a(5:

6)=[1010]

a=

1210

5810

⑸用全下标标识给矩阵元素赋值

>>a=[189;462]

a=

189

462

>>a(3,3)=5

a=

189

462

005

5、已知向量x=[12345],y=[711131519]。

试着分别用线性插值法和三次多项式插值法求x=1.3,2.4和4.8时所对应的y值。

⑴.三次多项式插值法:

x=[12345];

y=[711131519];

xi=[1.3,2.4,4.8];

yi=interp1(x,y,xi,'cubic');

plot(xi,yi,'-b',x,y,'.r','markersize',20),xlabel('x');

⑵线性插入法

程序:

clear

clc

x=[12345]

y=[711131519]

p1=polyfit(x,y,1)

p3=polyfit(x,y,3)

y1=polyval(p1,1.3)

y2=polyval(p1,2.4)

y3=polyval(p1,4.8)

z1=polyval(p3,1.3)

z2=polyval(p3,2.4)

z3=polyval(p3,4.8)

运行结果:

x=

12345

 

y=

711131519

 

p1=

2.80004.6000

 

p3=

0.3333-3.000010.6667-1.0000

 

y1=

8.2400

 

y2=

11.3200

 

y3=

18.0400

 

z1=

8.5290

 

z2=

11.9280

 

z3=

17.9440

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2