MATLAB实验指导教案资料.docx

上传人:b****0 文档编号:533666 上传时间:2022-10-10 格式:DOCX 页数:26 大小:451.91KB
下载 相关 举报
MATLAB实验指导教案资料.docx_第1页
第1页 / 共26页
MATLAB实验指导教案资料.docx_第2页
第2页 / 共26页
MATLAB实验指导教案资料.docx_第3页
第3页 / 共26页
MATLAB实验指导教案资料.docx_第4页
第4页 / 共26页
MATLAB实验指导教案资料.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

MATLAB实验指导教案资料.docx

《MATLAB实验指导教案资料.docx》由会员分享,可在线阅读,更多相关《MATLAB实验指导教案资料.docx(26页珍藏版)》请在冰豆网上搜索。

MATLAB实验指导教案资料.docx

MATLAB实验指导教案资料

 

MATLAB实验指导

实验一MATLAB运算基础

1.实验目的

1)熟悉启动和退出MATLAB的方法。

2)熟悉MATLAB命令窗口的组成。

3)掌握建立矩阵的方法。

4)掌握MATLAB各种表达式的书写规则以及常用函数的使用。

2.实验内容

1、用逻辑表达式求下列分段函数的值。

2、求[100-999]之间能被21整除的数的个数。

3、建立一个字符串向量,删除其中的大写字母。

4、输入矩阵

,并找出A中大于或等于5的元素(用行列表示)。

5、求矩阵

的行列式值、逆和特征根。

6、不采用循环的形式求出和式

的数值解。

3.实验程序及结果

1、程序如下:

t=0:

0.5;2.5...

y=t.^2*((t>=0)&(t<1))+(t.^2-1).*((t>=1)&(t<2))+(t.^2-2*t+1).*((t>=2)&(t<3))

结果如下:

2、程序如下:

p=rem([100:

999],21)==0;

sum(p)

运行结果如下:

3、程序代码如下:

ch='ABcdefGHd',k=find(ch>='A'&ch<='Z'),ch(k)=[]

4、程序代码如下:

A=[123;456;789],[i,j]=find(A>=5),

forn=1:

length(i)

m(n)=A(i(n),j(n))

end

M

运行结果:

5、程序代码:

a11=input('a11='),a12=input('a12='),

a21=input('a21='),a22=input('a22='),

A=[a11,a12,a21,a22],

DA=det(A),IA=inv(A),EA=eig(A)

运行结果如下:

6、程序代码如下:

sum(2.^[0:

63])

结果如下:

4.心得体会

通过本次的学习,使我对MATLAB的使用有了基本的了解。

熟悉了MATLAB的一系列运用和命令窗口的基本组成。

掌握如何去建立矩阵及各种表达式的书写规则和常规函数的使用。

对行列式的运用有了进一本的了解。

实验二M函数与M文件的编写与应用

1.实验目的

1、熟悉MATLAB的环境与工作空间。

2、熟悉变量与矩阵的输入、矩阵的运算。

3、熟悉M文件与M函数的编写及应用。

4、熟悉MATLAB控制语句与逻辑运算。

2.实验内容

1、1行100列的Fibonacc数组a,a

(1)=a

(2)=1,a(i)=a(i-1)+a(i-2),用for循环指令来寻求该数组中第一个大于10000的元素,并指出其位置i。

2、编写M脚本文件,定义下列分段函数,并分别求出当(x1=1,x2=0.5)、(x1=-1,x2=0)和(x1=0,x2=-0.5)时的函数值。

3、编写M函数表示曲线

sint以及其它的包络线

,并从命令窗口输入命令语句绘制曲线。

t的取值范围是[0-4

]。

4、设

编写一个M文件,使的调用函数f(x)时,x可用矩阵代入,得出的f(x)为同价矩阵。

\\

5、实验程序及结果心得体会

3.实验程序及结果

1、程序代码如下:

n=100;a=ones(1,n);

fori=3:

n

a(i)=a(i-1)+a(i-2);

ifa(i)>10000

a(i),

break;

end;

end,i

程序运行结果如下:

2、程序代码如下:

function[p]=ff(x1,x2)

ifx1+x2>1

p=0.5457*exp(-0.75*x2^2-3.75*1^2-1.5*1);

elseifx1+x2<=-1

p=0.5457*exp(-0.75*x2^2-3.75*1^2-1.5*1);

elsep=0.7575*exp(-x2^2-6.*x1^2);

End

在命令窗口输入

x1=0.x2=-0.5

ff(x1,x2)

运行结果:

ans=0.5899

输入

X1=-1,x2=0

Ff(x1,x2)

程序结果如下:

Ans=

0.00229

输入

X1=1,x2=0..5

Ff(x1,x2)

程序结果如下

Ans=

0.0224

3、程序代码如下:

functiony=ff(t)

y1=exp(-t/3)

y2=exp(-t/3).*sin(3*t);

y=[y1;y2]

单击M文件编辑器的SAVE图标,使出现标准的文件保存对话框

在文件对话框中选定目录填写文件名单击SAVE按钮把M文件保存到制定的文件目录中

输入如下命令

T=0:

pi/100:

4*pi;

Plot(t,ff(tt))

4、程序代码如下:

functionf=fx(x)

f=1./((x-2).^2+0.1)+1./((x-3).^4+0.01)

4实验心得

通过对M函数与M文件的编写与应用使我对MATLAB的环境与工作空进有了更近一步的熟悉,可以在文件保存对话框中选定目录,填写文件名并设置M文件保存在制定的目录中,熟悉了M文件与M函数的编写与应用和MATLAB的控制语句与逻辑运算。

实验三选择与循环结构程序的设计

1.实验目的

1、掌握if语句、switch语句、try语句的使用。

2、掌握利用for语句、while语句实现循环结构的方法。

2.实验内容

1、根据

(1)y<时的最大值;

(2)与

(1)的n值对应的y值。

2、已知

求f1~f100中,最大值最小值、各数之和,以及正数、零、负数的个数。

3、输入一个百分制成绩,要求输出成绩等级A.B.C.D.E.其中,90~100分为A,80~89分为B,70~79分为C,60~69分明为D,60分一下为E。

4、求分段函数的值。

用if语句实现输出x=-0.5,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。

3.实验程序及结果

1、用for循环,程序如下:

forn=1:

100%取足够大的n值,这里取100

f(n)=1./(2*n-1)

y=sum(f)

ify>=3

my=y-f(n)%y<3时的最大y值

mn=n-1%y<3时的最大n值

break

end

end

my

Mn

运行结果如下:

my=

2.9944

mn=

56

2、程序代码如下:

f

(1)=1,f

(2)=0,f(3)=1

forn=4:

100

f(n)=f(n-1)-2*f(n-2)+f(n-3)

end

a=sum(f)%各数之和

b=max(f)%最大值

c=min(f)%最小值

p=f==0,d=sum(p)%零的个数

p1=f>0,e=sum(p1)%正数的个数

p2=f<0,f=sum(p2)%负数的个数

a,b,c,d,e,f

程序运行结果如下:

a=

-7.4275e+11

b=

4.3776e+11

c=

-8.9941e+11

d=

2

e=

49

f=

49

3、程序代码如下:

per=input('输入成绩:

')

switchfloor(per/10)%将grade向负无穷方向取整,不能为fix

case9

grade='A'%100>grade>=90

case8

grade='B'

case7

grade='C'

case6

grade='D'

casenum2cell(0:

5)%数值向量必须转换为元胞数组才能作为判决条件

grade='E'

otherwise

ifper==100

grade='A'%grade=100

elsegrade='error'%grade<0或>100

end

end

程序运行,在命令窗口输入成绩后可显示成绩等级。

4、程序代码如下:

functiony=ex3_4(x)

fori=1:

length(x)

if(x(i)<0)&(x(i)~=-3)%如果x为一向量,x<0只能是x的每个元素小于0才返回1

y(i)=x(i)^2+x(i)-6

elseif(x(i)>=0)&(x(i)<5)&(x(i)~=2)&(x(i)~=3)

y(i)=x(i)^2-5*x(i)+6

else

y(i)=x(i)^2-x(i)-1

end

end

y

程序运行如下:

在命令窗口输入下列语句:

X=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0],

Y=ex3_4(x)

有如下结果:

y=

14.000011.00002.00001.0000-0.25005.000019.0000

4.心得体会

本实验是对循环与选择结构程序设计,在本实验中有对IF语句SWITCH语句TRY语句的使用。

其中有当条件成立时,则执行语句组,执行完之后执行IF语句的后续语句,若条件不成立,则直接执行IF语句的后续语句。

而SWITCH语句是更具表达式的取值不同,分别执行不同的语句。

最后学习了循环结构有FORWHILE循环。

,FOR循环变量可以为数据,WHILE循环以不定次数求一组命令的值,而BREAK语句与CONTINUE语句他们一般与IF语句配合使用。

实验四绘图函数的应用

1.实验目的

1、熟悉二维和三维绘图函数的命令。

2、熟悉图形修饰和控制方法。

3、了解特殊坐标图形的绘制。

2.实验内容

1、在同一图形窗口绘制sinx,cosx曲线,要求用不同颜色和线型、数据点标记字符,X轴范围为[0--2

],y轴范围为[-2-2],并加注解说明sinx、cosx以区分,图例注解放置在图形右下角。

2、定义函数myfun:

y(1,2)=[200sinx/x,x^2],绘制该函数在X=[-20-20]区间内的图形。

3、试将图形窗口分割成三个区域,分别格绘制y=lgx在[0-100]区间内的对数坐标,x半对数坐标及y半对数坐标,并加上标题添加图。

4、t=-3:

0.125:

3,x=cos2t,y=cos2t,z=x^2+2*y^2,请绘制带有等高线的基于x,y,z的三维网格曲面图,并填充颜色。

坐标轴范围为[-1,1,-1,1,0,,2].

5、绘制出饱和非线性特性方程

的曲线。

3.实验程序及结果

1、输入的程序代码如下:

t=0:

0.05:

2*pi;

plot(t,sin(t),'r-.o',t,cos(t),'m-s')

legend('sinx','cosx',4)

axis([02*pi-22])

运行结果如下:

2、程序代码如下:

functionY=myfun(x)

Y(:

1)=200*sin(x(:

))./x(:

);

Y(:

2)=x(:

).^2;

程序运行结果如下:

3、程序代码如下:

x=0:

0.1:

100;

y=log10(x);

subplot(311),loglog(x,y)

grid

title('logloggraph')

subplot(312),semilogx(x,y)

grid

title('semilogxgraph')

subplot(313),semilogy(x,y)

grid

title('semilogygraph')

程序运行结果如下:

4、程序代码如下:

t=-3:

0.125:

3;

x=sin(2.*t);y=cos(2.*t);[x,y]=meshgrid(x,y);

z=x.^2+2*y.^2;

mesh(x,y,z)

axis([-1

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

当前位置:首页 > IT计算机 > 互联网

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

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