MATLAB实验报告.docx

上传人:b****4 文档编号:2842673 上传时间:2022-11-15 格式:DOCX 页数:17 大小:221.22KB
下载 相关 举报
MATLAB实验报告.docx_第1页
第1页 / 共17页
MATLAB实验报告.docx_第2页
第2页 / 共17页
MATLAB实验报告.docx_第3页
第3页 / 共17页
MATLAB实验报告.docx_第4页
第4页 / 共17页
MATLAB实验报告.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

MATLAB实验报告.docx

《MATLAB实验报告.docx》由会员分享,可在线阅读,更多相关《MATLAB实验报告.docx(17页珍藏版)》请在冰豆网上搜索。

MATLAB实验报告.docx

MATLAB实验报告

MATLAB

实验报告

 

专业班级

学号

姓名

实验一Matlab环境及命令窗口的使用

实验目的与要求:

熟练掌握MATLAB的启动和退出;熟悉MATLAB的命令窗口;熟悉常用选单和工具栏;熟悉MATLAB桌面的其它窗口。

实验内容:

启动MATLAB,熟悉各环境窗口及作用,熟悉file、edit、View等菜单下各选项的功能;熟悉工具栏中各项的功能;打开演示程序(demo),开始其中的演示程序;退出MATLAB(exit、quit)。

在命令窗口中,输入简单的命令操作;打开函数编辑窗,编写简单的程序并保存;

程序:

>>x1=sqrt(100),x2=5.48,y=9/x2

x1=

10

x2=

5.4800

y=

1.6423

>>demo

演示框左侧是库目录,选定demo下的图形类(Graphics)按钮,双击演示框右边的栏里的functionofcomplexvariable选项,就会出现如图中的演示框。

此例为复数Z的三次方:

Z^3。

实验二Matlab数值计算

实验目的与要求:

熟练掌握matlab变量的使用;熟练掌握矩阵的创建;熟悉掌握matlab的矩阵和数组的运算;熟悉matlab多项式的运算。

实验内容:

给2×3阶矩阵变量a赋值(注意逗号与分号的使用),取其第2行第2个元素,取其第2行元素,取其第1列和第3列的元素;计算a/3、5*a、a+2等的值;

程序:

>>a=[7,9,5;5,9,4]

a=

795

594

>>a=[7,9,5;594]

a=

795

594

>>b=a([2],[2])

b=

9

>>c=a([2],:

c=

594

>>d=a(:

[1,3])

d=

75

54

>>e=a/3

e=

2.33333.00001.6667

1.66673.00001.3333

>>5*a

ans=

354525

254520

>>a+2

ans=

9117

7116

2、生成2×3阶的全1矩阵x和3×3魔方矩阵y,计算a+x,x*y,x/y,y^2,2^a;a.*x,a.\x,y.^2,2.^a的值。

程序:

>>x=ones(2,3)

x=

111

111

>>y=magic(3)

y=

816

357

492

>>a+x

ans=

8106

6105

(注意不同行列数之间不能相加)

>>x*y

ans=

151515

151515

>>x/y

ans=

0.06670.06670.0667

0.06670.06670.0667

(左除与右除的区别)

>>y^2

ans=

916767

679167

676791

>>2^a

?

?

?

Errorusing==>mpower

Inputsmustbeascalarandasquarematrix.

(注意2后面要加点表示按元素群运算)正确如下:

>>2.^a

ans=

12851232

3251216

>>a.*x

ans=

795

594

>>a.\x

ans=

0.14290.11110.2000

0.20000.11110.2500

>>y.^2

ans=

64136

92549

16814

3多项式a=3x^5+4x^4+7x^3+9x+12,b=x^5-4x^4+3x^3-2x+6,计算a+b,a*b,a/b,求b的根,当x=3时求a的值。

程序:

>>a=[3,4,7,9,12],b=[1,-4,3,-2,6],a+b

a=

347912

b=

1-43-26

ans=

4010718

>>a=[3,4,7,9,12],b=[1,-4,3,-2,6],conv(a,b)

a=

347912

b=

1-43-26

ans=

3-80-137-11603072

>>a=[3,4,7,9,12],b=[1,-4,3,-2,6],[s,y]=deconv(a,b)

a=

347912

b=

1-43-26

s=

3

y=

016-215-6

(相除s表示商,y表示余子式)

>>roots(b)

ans=

3.0000

1.6956

-0.3478+1.0289i

-0.3478-1.0289i

>>polyval(a,3)

ans=

453

实验三M文件的建立

实验目的与要求:

熟练掌握主程序文件的建立;熟练掌握函数文件的建立;熟悉M文件的调试;熟悉M文件的保存;熟悉M文件的运行。

实验内容:

建立一个函数文件file1,定义函数f(x)=1/((x-2)^2+0.1)+1/((x-3)^4+0.01)-4;建立一个主程序文件mainf,分别求出f(x)在[2,3]内的极小值,在2,3.5附近的零点,并绘制出其在[0,5]内的曲线及横轴(0,0),(0,5)。

Fminbnd(’f’,2,3),fzero(‘f’,2),fzero(‘f’,3.5),fplot(‘f’,[0,5]),line([0,5],[0,0])

功能函数:

文件名:

file1.m

functiony=file1(x)

y=1./((x-2).^2+.1)+1./((x-3).^4+.01)-4;

end

主程序文件:

文件名:

mainf.m

clearcloseall

m=fminbnd('file1',2,3),holdon,plot(m,file1(m),'*k')%在[2,3]内的极小值;

n=fzero('file1',2),holdon,plot(n,0,'*k')%在2附近的零点;

z=fzero('file1',3.5),plot(z,0,'*k')%在3.5附近的零点;

fplot('file1',[0,5])

line([0,5],[0,0])

>>mainf

m=

2.2704

n=

1.5915

z=

3.7157

实验四MATLAB计算的可视化

实验目的与要求:

熟练掌握Matlab二维曲线的设计;熟练掌握各种特殊图形的绘制;熟练掌握各种坐标控制语句的使用。

实验内容:

绘图:

习题:

4.4设y=cosx[0.5+3sinx/(1+x^2)],把x=0~2pi间分为101点,画出以x为横坐标,y为纵坐标的曲线。

(linspace:

绿色*线)。

程序如下:

clear,closeall

x=linspace(0,2*pi,101);

y=cos(x).*(0.5+3*sin(x)./(1+x.^2));

plot(x,y,'*g')

4.14设x=zsin3z,y=zcos3z,要求在z=0~10区间内画出x,y,z三维曲线(plot3:

蓝色虚线)

程序如下:

clear,closeall

z=0:

0.1:

10;

x=z.*(sin(3*z));

y=z.*(cos(3*z));

plot3(x,y,z,':

b')

4.15设z=x^2e^(-(x^2+y^2)),求定义域x=[-2,2],y=[-2,2]内的z值,网格取0.1见方。

(meshgrid,mesh),加标题(title),加轴名(xlabel,ylabel,zlabel),加网格(grid)。

程序:

clear,closeall

x=-2:

0.1:

2;y=-2:

0.1:

2;

X=x'*ones(1,length(y));Y=ones(length(x),1)*y;

[X,Y]=meshgrid(-2:

0.1:

2,-2:

0.1:

2);

z=X.*X.*exp(-X.^2-Y.^2);mesh(z);

title('4.15'),xlabel('X'),ylabel('Y'),zlabel('Z');gridon

在同一坐标轴内绘图:

t1=0:

0.5:

2*pi;y1=exp(-0.5*t).*sin(t);红色实线。

t2=0:

0.2:

3*pi;y2=exp(-0.5*t).*sin(2*t+1);色虚线。

最后,用gtext加上标注,y1,y2。

程序:

clear,closeall

t1=0:

0.5:

2*pi;y1=exp(-0.5*t1).*sin(t1);

plot(t1,y1,'-r'),holdon,

t2=0:

0.2:

3*pi;y2=exp(-0.5*t2).*sin(2*t2+1);

plot(t2,y2,':

b'),gtext('y1'),gtext('y2')

绘制其他类型图:

t=0:

0.5:

2*pi;y=3*sin(x+1);在子图中分别绘制直角坐标图(plot),脉冲图(stem),阶梯图(stairs),条形图(bar)。

程序:

clear,closeall

t=0:

0.5:

2*pi;y=3*sin(t+1);

subplot(2,2,1),plot(t,y),title('plot(t,y)');

subplot(2,2,2),stem(t,y),title('stem(t,y)');

subplot(2,2,3),stairs(t,y),title('stairs(t,y)');

subplot(2,2,4),bar(t,y),title('bar(t,y)'

实验五逻辑运算与流程控制

实验目的与要求:

熟悉逻辑控制语句表达式的运用,熟练掌握流程控制语句的使用以及其在复杂循环程序中的应用。

实验内容:

1.逻辑运算:

n为下标,利用逻辑语句生成一个只在n=3处有一个脉冲的向量x;生成一个在[3,5]内为1,其余为零的向量y。

生成一个在3以后为1其余为零的向量z。

clear,closeall

t0=0;tf=10;dt=0.01;t1=3;

t=t0:

tf;x1=[(t-t1)==0];

subplot(2,2,1),stem(t,x1),title('脉冲的向量x');

axis([0,5,0,1.2])

m=(t0:

dt:

tf);

x2=[(m-t1)>=0];

subplot(2,2,3),stairs(m,x2),title('向量z')

axis([0,5,0,1.1])

x3=[((m-3)>=0)&(m-5<=0)];

subplot(2,2,2),stairs(m,x3),title('向量y');

axis([0,8,0,1.1])

2.流程控制语句及应用:

分别用if语句switch语句编程实现,判断一个数是奇数还是偶数的。

用if语句编程:

clear,closeall

n=input('n=');

if(rem(n,2)==0)

A='even';

elseA='odd',

end

结果:

n=57

A=

odd

用switch语句编写:

clear,closeall

n=input('n=');

switchmod(n,2),case1,A='奇',case0,A='偶',otherwise,A='空',end

结果:

n=4

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

当前位置:首页 > 经管营销 > 经济市场

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

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