matlab实验报告10801460.docx

上传人:b****6 文档编号:7900888 上传时间:2023-01-27 格式:DOCX 页数:19 大小:259.50KB
下载 相关 举报
matlab实验报告10801460.docx_第1页
第1页 / 共19页
matlab实验报告10801460.docx_第2页
第2页 / 共19页
matlab实验报告10801460.docx_第3页
第3页 / 共19页
matlab实验报告10801460.docx_第4页
第4页 / 共19页
matlab实验报告10801460.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

matlab实验报告10801460.docx

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

matlab实验报告10801460.docx

matlab实验报告10801460

(此文档为word格式,下载后您可任意编辑修改!

实验一小球做自由落体运动

内容:

一小球竖直方向做自由落体,并无损做往返运动。

程序:

theta=0:

0.01:

2*pi

x=cos(theta)

y=sin(theta)

l=1

v=1

whilel<10

fort=1:

10

y=y+(-1)^l*v*t

plot(x,y,[-1,1],[-56,2],'.')

axisequal

pause(0.1)

end

l=l+1

end

结果:

收获:

通过运用小球自由落体规律,及(-1)^n来实现无损往返运动!

实验二旋转五角星

内容:

一个五角星在圆内匀速旋转

程序:

x=[222222]

y=[045*pi85*pi25*pi65*pi0]

y1=2*sin(y)

x1=2*cos(y)

theta=0:

45*pi:

4*pi

x2=2*cos(theta)

y2=2*sin(theta)

plot(x,y,x1,y1,x2,y2)

axisequal

theta1=theta+pi10

x2=2*cos(theta1)

y2=2*sin(theta1)

plot(x2,y2)

axisequal

theta=0:

45*pi:

4*pi

forrot=pi10:

pi10:

2*pi

x=2*cos(theta+rot)

y=2*sin(theta+rot)

plot(x,y)

pause(0.1)

end

结果:

收获:

通过theta1=theta+pi10,我们可以实现五角星在圆内匀速旋转!

实验三转动的自行车

内容:

一辆自行车在圆内匀速转动

程序:

x=-4:

0.08:

4;

y=sqrt(16-x.^2);

theta1=-pi2:

0.01*pi:

3*pi2;

x3=0.5*cos(theta1);

y3=0.5*sin(theta1);

theta=-pi2+0.02*pi

fork=1:

100

theta=theta-0.02*pi

x1=2*cos(theta);

y1=2*sin(theta);

x2=3.5*cos(theta);

y2=3.5*sin(theta);

x4=3.5*cos(theta+0.2*pi);

y4=3.5*sin(theta+0.2*pi);

x5=2.3*cos(theta);

y5=2.3*sin(theta);

yuanx=3.5*cos(theta);

yuany=3.5*sin(theta);

yuanx1=3.5*cos(theta+0.2*pi);

yuany1=3.5*sin(theta+0.2*pi);

plot(x,y,'k',x,-y,'k',x1,y1,'k',x2,y2,'k',[x1x2],[y1y2],'k',x3+yuanx,y3+yuany,'k',x4,y4,'k',[x2x4],[y2y4],'k',x3+yuanx1,y3+yuany1,'k',[x5x4],[y5y4],'k')

pause(0.1)

end

结果:

收获:

通过条件语句及极坐标来控制自行车在圆内匀速旋转!

实验四角度画圆

内容:

一个小球在下半圆内做往复运动

程序:

theta=0:

-0.01*pi:

-pi

x=10*cos(theta)

y=10*sin(theta)

x1=cos(theta1)

y1=sin(theta1)

l=1

jiao=0

whilel<10

fork=1:

100

jiao=jiao+(-1)^l*0.01*pi

yuanx=9*cos(jiao)

yuany=9*sin(jiao)

plot(x,y,x1+yuanx,y1+yuany1)

pause(0.1)

end

l=l+1

end

结果:

收获:

通过条件语句及jiao=jiao+(-1)^l*0.01*pi,和极坐标的应用,我们可以实现“角度画圆”!

实验五笑脸

内容:

用数学公式转化成程序语言,画出一个笑脸。

程序:

x=-2:

0.04:

2

y=sqrt(4-x.^2)

x1=-1.5:

0.01:

-0.7

y1=0.3*sqrt(1-((x1+1.1).^2)0.16)+0.6;

x2=-0.3:

0.006:

0.3

y2=(sqrt(0.09-x2.^2))-0.2

x3=-0.5:

0.01:

0.5

y3=-0.3*sqrt(1-x3.^20.25)-1.2

plot(x,y,'k',x,-y,'k',x1,y1,'k',x1+2.3,y1,'k',x2,y2,'k',x2,-y2-0.4,'k',x3,y3,'k')

结果:

收获:

通过使用sqrt()函数,我们能够画出一个圆、椭圆

,进而画出一个笑脸!

实验六自行车车轮斜面滚动

内容:

一个自行车轮子在斜面上滚动,并在水平面上滑动。

程序:

x=[10010];

y=[1000];

theta=0:

0.01:

4*pi

x1=cos(theta)

y1=sin(theta)

theta2=[023*pi43*pi]

s=0

fortheta3=0:

pi10:

6*pi

iftheta3sqrt

(2)>=9

s=s+pi10

t=9

else

s=theta3sqrt

(2)

t=theta3sqrt

(2)

end

x3=[(cos(theta2+theta3)+10-sqrt

(2));(10-sqrt

(2))*ones(1,3)];

y3=[(sin(theta2+theta3)+10);10*ones(1,3)];

plot(x,y,x1+10-sqrt

(2)-s,y1+10-t,x3-s,y3-t)

pause(0.1)

end

结果:

收获:

通过画辐条theta2=[023*pi43*pi]及条件语句的运用,我们可以使小轮在斜面上匀速滚动。

实验七自行车在水平面上前进

内容:

一辆自行车在水平面上匀速前进,

程序:

x1=[32476346]

y1=[642.52.5112.51]

x2=[31.520]

y2=[194+141]

x3=2.7:

0.006:

3.3

y3=sqrt(0.09-(x3-3).^2)+1

x4=-1:

0.01:

1

y4=sqrt(1-x4.^2)+1

dianx=[-13,8]

diany=[0,11]

fortheta=0:

pi10:

4*pi

a=[cos(theta)-sin(theta);sin(theta)cos(theta)]*[1;0]+[0;1]

x5=[a

(1)0]

y5=[a

(2)1]

a=[cos(theta)-sin(theta);sin(theta)cos(theta)]*[-12;(sqrt(3))2]+[0;1]

x6=[a

(1)0]

y6=[a

(2)1]

a=[cos(theta)-sin(theta);sin(theta)cos(theta)]*[-12;-(sqrt(3))2]+[0;1]

x7=[a

(1)0]

y7=[a

(2)1]

plot(x1-theta,y1,'k-',x2-theta,y2,'k-',x3-theta,y3,'k-',x3-theta,-y3+2,'k-',x4-theta,y4,'k-',x4-theta,-y4+2,'k-',x4+6-theta,y4,'k-',x4+6-theta,-y4+2,'k-',x5-theta,y5,'k-',x6-theta,y6,'k-',x7-theta,y7,'k-',x5+6-theta,y5,'k-',x6+6-theta,y6,'k-',x7+6-theta,y7,'k-',dianx,diany,'.')

pause(0.1)

end

结果:

收获:

通过写自行车上各骨件的程序代码及应用theta=0:

pi10:

4*pi,我们能够很好的控制自行车在水平面上匀速前进!

实验八九九乘法表

内容:

显示四个九九乘法表,分别以上、下、左、右三角形形式呈现。

程序:

(1)

fid=fopen('b.txt','w')

fork=1:

9

forl=1:

k

fprintf(fid,'%d*%d=%2d',l,k,l*k);

end

fprintf(fid,'\n');

end

fclose(fid)

结果:

1*1=1

1*2=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

1*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=36

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

程序:

(2)

fid=fopen('a.txt','w')

fork=1:

9

form=1:

k-1

fprintf(fid,'')

end

forl=1:

10-k

fprintf(fid,'%d*%d=%2d',l,10-k,l*(10-k))

end

fprintf(fid,'\n')

end

fclose(fid)

结果:

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*6=62*6=123*6=184*6=245*6=306*6=36

1*5=52*5=103*5=154*5=205*5=25

1*4=42*4=83*4=124*4=16

1*3=32*3=63*3=9

1*2=22*2=4

1*1=1

程序:

(3)

fid=fopen('a.txt','w')

fork=9:

-1:

1

form=k-1:

-1:

1

fprintf(fid,'')

end

forl=1:

10-k

fprintf(fid,'%d*%d=%2d',l,10-k,l*(10-k))

end

fprintf(fid,'\n')

end

fclose(fid)

结果:

1*1=1

1*2=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

1*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=36

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

程序:

(4)

fid=fopen('b.txt','w')

fork=1:

9

forl=1:

10-k

fprintf(fid,'%d*%d=%2d',l,10-k,l*(10-k));

end

fprintf(fid,'\n');

end

fclose(fid)

结果:

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*6=62*6=123*6=184*6=245*6=306*6=36

1*5=52*5=103*5=154*5=205*5=25

1*4=42*4=83*4=124*4=16

1*3=32*3=63*3=9

1*2=22*2=4

1*1=1

收获:

通过使用for循环,我们可以得到九九乘法表的两种形式,用form=k-1:

-1:

1

fprintf(fid,'')

end

循环嵌套语句,可以实现另外两种形式,可以实现上、下、左、右三角形式。

实验九小球做有损运动

内容:

一小球做竖直下抛运动,然后反弹,直到最后静止。

程序:

fori=1:

9

fork=11-i:

-1:

1

theta=0:

0.01*pi:

2*pi

x=cos(theta)

y=k+sin(theta)

plot(x,y,[-1,1],[0,11],'.')

axisequal

pause(0.1)

end

fork=1:

1:

10-i

theta=0:

0.01*pi:

2*pi

x=cos(theta)

y=k+sin(theta)

plot(x,y,[-1,1],[0,11],'.')

axisequal

pause(0.1)

end

end

结果:

收获:

通过for循环及for循环嵌套,可以实现小球数直下落,

我们可以用theta=0:

0.01*pi:

2*pi

x=cos(theta)

y=k+sin(theta)

来实现小球做有损运动!

实验十Logistic方程求解与混沌

内容:

Feigenbaum对超越函数y=asin(pi*x)进行了分岔与混沌,利用迭代格式做出相应的图。

程序:

clear;clf;

axis([]);grid

fora=0:

0.005:

3

x=[0,1]

fori=2:

150

x(i)=a*sin(pi*x(i-1));

end

pause(0.1)

fori=101:

150

plot(a,x(i),'k.')

end

end

结果:

收获:

通过迭代公式及for循环语句,我们可以实现对超越函数的计算,并为之做出分岔与混沌的研究。

实验十一追击问题

内容:

四个人站在正方形的四个顶点,开始追击,直到第一次四人相遇为止。

程序:

v=1

dt=0.05

x=[001010]

y=[010100]

fori=1:

4

plot(x(i),y(i),'.')

end

d=20

whiled>0.1

x(5)=x

(1);

y(5)=y

(1)

fori=1:

4

d=sqrt((x(i+1)-x(i))^2+(y(i+1)-y(i))^2)

x(i)=x(i)+v*dt*(x(i+1)-x(i))d;

y(i)=y(i)+v*dt*(y(i+1)-y(i))d;

plot(x(i),y(i),'.')

end

end

结果:

收获:

通过使用while循环语句,很好的控制第一次相遇问题,使用for循环语句及d=sqrt((x(i+1)-x(i))^2+(y(i+1)-y(i))^2),我们能够使四人按个人速度匀速前进并进行追击。

实验十二三维制图

内容:

画出一个三维图,用subplot及mesh来完成。

程序:

[xyz]=peaks

[x1,y1,z1]=sphere

subplot(2,1,1)

mesh(x,y,z)

subplot(2,1,2)

mesh(x1,y1,z1)

结果:

收获:

我们可以用peaks(顶尖),sphere(球),subplot及mesh来实现三维制图的过程。

实验十三鬼屋

内容:

建一座房子,用四边形组建起来!

程序:

x=[-2-222-2]

y=[04400]

x1=[-2-132-2]

y1=[45544]

x2=[22332]

y2=[04510]

x3=[-1.5-1.5-0.5-0.5-1.5]

y3=[2.53.53.52.52.5]

x4=[0.50.51.51.50.5]

y4=[2.53.53.52.52.5]

x5=[111.51.51]

y5=[01100]

plot(x,y,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5)

结果:

收获:

矩阵必须有相同的维度,首尾相连才可以构成图形!

总收获及感悟:

通过对matlab软件的学习,我们从一个个错误的编码到如今能编写成小程序,这都依赖于老师的谆谆教导及我们不断地改进学习。

我们从错误中学习,从错误中改进。

如:

Error:

Incompleterormisformedexpressionorstatement;MissingMATLABoperator;Matrixmustbesquare;Matrixdimensionsmustagree.

这些都让我们深刻体会到matlab软件操作上的不足。

到如今,我们已掌握了如何用fororwhile循环及嵌套语句来实现循环过程。

当做出了一系列的实验程序图,看到这些图形的显示,我无比高兴,真正体会到了数学与计算机相结合所散发出来的魅力!

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

当前位置:首页 > 表格模板 > 合同协议

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

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