matlab实训报告Word文档下载推荐.docx

上传人:b****3 文档编号:17823332 上传时间:2022-12-11 格式:DOCX 页数:43 大小:1.82MB
下载 相关 举报
matlab实训报告Word文档下载推荐.docx_第1页
第1页 / 共43页
matlab实训报告Word文档下载推荐.docx_第2页
第2页 / 共43页
matlab实训报告Word文档下载推荐.docx_第3页
第3页 / 共43页
matlab实训报告Word文档下载推荐.docx_第4页
第4页 / 共43页
matlab实训报告Word文档下载推荐.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

matlab实训报告Word文档下载推荐.docx

《matlab实训报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《matlab实训报告Word文档下载推荐.docx(43页珍藏版)》请在冰豆网上搜索。

matlab实训报告Word文档下载推荐.docx

[a,b]=meshgrid(-5:

.5:

5);

c=sqrt(a.^2+b.^2)+eps;

z=sin(c)./c;

mesh(a,b,z)

axissquare

改变a、b的取值范围,可得到裁剪后的图。

1.画出球面、椭球面、双叶双曲面、单叶双曲面.

球面:

title(‘球面’)

椭球面:

1*sin(u)*sin(v)'

1*cos(u)'

title(‘椭球面’)

双叶双曲面:

3*tem(u)*cos(v)'

3*tem(u)*sin(v)'

5.*sec(u)'

[-2*pi,3*pi/2,0,2*pi]);

axisauto

title(‘双叶双曲面’)

单叶双曲面:

3*sec(u)*cos(v)'

4*sec(u)*sin(v)'

5*tem(u)'

[-pi/2,pi/2,0,2*pi]);

htle(‘单叶双曲面’)

4.若要求田螺线的一条轴截面的曲边是一条抛物线:

.试重新设计田螺线的参数方程,并画出该田螺线.

Ezplot3(‘1*1*sin

(1)’,’1*1*cos

(1)’,’1*2/5’,[0,50])

5.作出下图所示的马鞍面(颜色为灰色,并有一个标题:

“马鞍面”):

图11

[x,y]=meshgrid(-25:

1:

25);

z=x.^2/9-y.^2/4;

mesh(x,y,z)

title('

马鞍面'

colormap(‘gray’)

gridoff

6.绘制图8所示的黎曼函数图形,要求分母的最大值

的数值由键盘输入(提示:

使用input语句).

程序如下:

n=100;

x=[];

y=[];

k=1;

fori=2:

n

forj=1:

i-1

ifgcd(i,j)==1%用函数gcd(m,n)可求m和n的最大公约数

x(k)=j/i;

y(k)=1/i;

k=k+1;

end

end

plot(x,y,'

.b'

);

axis([0,1,0,1])

2数字填图问题

问题背景和实验目的

数字填图问题是数学问题的一种趣味形式.早在19世纪后半期,一些数学家就在报刊中大量使用数字填图游戏和字谜游戏等,目的是使业余爱好者也能通过简单的形式去认识、理解和琢磨深奥的数学问题,这些问题中甚至包括困惑了世间智者350多年、于1994年才刚刚被证明了的“费马大定理”.100多年来,数字填图问题对数学界所起的作用是不言而喻的.

大家都知道,数学问题一般都经过严格的逻辑证明才得以解决.而逻辑证明是指从一些公理出发,经过逻辑推理来证明问题.但随着20世纪40年代以来计算机的诞生和发展,计算机改变了整个世界,计算机已在各个领域发挥作用,并取得了许多重大进展.于是,能否用计算机来证明数学问题便成了大家关心的话题.

所谓计算机证明是指充分发挥计算机计算速度快和会“推理”的特点,用计算机程序模拟解题或进行穷举检验,最后得到问题的解.几乎所有的数学家对计算机证明持保留态度,因为他们相信,只有逻辑证明才是真正可靠的.但“四色问题”的证明,又使他们感到困惑,因为“四色问题”的证明实际上是一个计算机证明.

能否用计算机来证明数学问题的争论可能会持续一个相当长的时间,本实验旨在通过生活中几个常见的数字填图问题的探究,谈谈这类问题的逻辑推理解法和计算机解法.

相关函数(命令)简介

1.cputime命令:

记录执行本命令时的Matlab时钟的时间(秒).

2.tic命令:

开始计时.

3.toc命令:

结束计时.

4.disp(x):

输出矩阵x.x的各项应为字符,所以在输出时要进行转化.

相关的命令有:

num2str():

把数值转化为字符;

mat2str():

把矩阵转化为字符.

让我们先从一个简单的问题出发来谈谈数字填图问题的两种解法.然后通过几个稍复杂问题的探究,从中展示逻辑推理的严谨以及计算机解法的魅力,启迪我们去解决更复杂的数学问题.

1.一道竞赛题(以下称“原问题”)

1998年4月香港数理教育学会主办的初中数学竞赛有这样一道试题:

在下面的加法算式中,每个□表示一个数字,任意两个数字都不相同,那么A与B的乘积的最大值是多少?

n=0;

fora=1:

9

forb=1:

if(b==a),continue;

forc=0:

if(c==a|c==b),continue;

ford=1:

if(d==a|d==b|d==c),continue;

fore=0:

if(e==a|e==b|e==c|e==d),continue;

forf=0:

if(f==a|f==b|f==c|f==d|f==e),continue;

forg=1:

if(g==a|g==b|g==c|g==d|g==e|g==f),continue;

forh=0:

if(h==a|h==b|h==c|h==d|h==e|h==f|h==g),continue;

fori=0:

if(i==a|i==b|i==c|i==d|i==e|i==f|i==g|i==h),continue;

forj=0:

if(j==a|j==b|j==c|j==d|j==e|j==f|j==g|j==h|j==i),

continue;

if(a+b*10+c+d*100+e*10+f==g*1000+h*100+i*10+j)

n=n+1;

k=i*j

fprintf('

第%d个解:

%d+%d%d+%d%d%d=%d%d%d%d\n'

n,a,b,c,d,e,f,g,h,i,j,k);

end,end,end,end,end,end,end,end,end,end,end

结果如下:

第1个解:

2+46+987=1035.第15个解:

k=15

第2个解:

2+47+986=1035.第15个解:

……

第8个解:

2+87+964=1053.第12个解:

k=12

第9个解:

3+45+978=1026.第12个解:

…….

第59个解:

8+73+945=1026.第12个解:

第60个解:

8+75+943=1026.第12个解:

k=12(共60个解,这里只选取一部分)

故A*B的最大值为15

由上述问题引伸出的三个问题:

2.满足原问题题意的不同的加法算式(竖式)共有多少个?

t02=clock;

A1=1:

9;

fori1=1:

a=A1(i1);

A2=A1([1:

i1-1,i1+1:

9]);

fori2=1:

8

b=A2(i2);

A3=A2([1:

i2-1,i2+1:

8]);

fori3=1:

7

c=A3(i3);

A4=A3([1:

i3-1,i3+1:

7]);

fori4=1:

6

d=A4(i4);

A5=A4([1:

i4-1,i4+1:

6]);

fori5=1:

5

e=A5(i5);

A6=A5([1:

i5-1,i5+1:

5]);

fori6=1:

4

f=A6(i6);

A7=A6([1:

i6-1,i6+1:

4]);

fori7=1:

3

g=A7(i7);

A8=A7([1:

i7-1,i7+1:

3]);

fori8=1:

2

h=A8(i8);

i=A8([1:

i8-1,i8+1:

2]);

ifa+b==c&

d+e==f&

g+h==i*10&

a<

b&

d<

e&

d&

g<

h

disp(['

第'

num2str(n),'

个解:

'

...

num2str(a),'

+'

num2str(b),'

='

num2str(c),'

'

num2str(d),'

num2str(e),'

num2str(f),'

num2str(g),'

num2str(h),'

num2str(i),'

0'

])

t2=etime(clock,t02);

fprintf('

\nTheelapsedtime(measuredbyclock/etime)is:

%g'

t2)

程序结果:

第1个解:

2+6=84+5=93+7=10

第2个解:

2+7=93+5=84+6=10

Theelapsedtime(measuredbyclock/etime)is:

11.754

3.如果在原问题中删除条件:

“任意两个数字都不相同”,则满足题意的不同的加法算式(竖式)共有多少个?

#include<

stdio.h>

main()

{inta,b,c,d,e,f,g,h,i,j,n=0;

printf("

\n\n"

for(a=1;

a<

=9;

a++)

{

for(b=1;

b<

b++)

{

if(b==a)continue;

for(c=1;

c<

c++)

if(c==a||c==b)continue;

for(d=1;

d<

d++)

{

if(d==a||d==b||d==c)continue;

for(e=1;

e<

e++)

{

if(e==a||e==b||e==c||e==d)continue;

for(f=1;

f<

f++)

{

if(f==a||f==b||f==c||f==d||f==e)continue;

for(g=1;

g<

g++)

{

if(g==a||g==b||g==c||g==d||g==e||g==f)continue;

for(h=1;

h<

h++){

if(h==a||h==b||h==c||h==d||h==e||h==f||h==g)continue;

for(i=1;

i<

i++){

if(i==a||i==b||i==c||i==d||i==e||i==f||i==g||i==h)continue;

else

if((a+b==c)&

&

(d+e==f)&

(g+h==10*i)&

(a<

b)&

(d<

e)&

d)&

(g<

h))

{printf("

%3d:

%d+%d=%d,%d+%d=%d,%d+%d=%d0\n"

++n,a,b,c,d,e,f,g,h,i);

if(n%3==0)printf("

\n"

}}}}}}}}}}

return0;

}

1:

2+6=8,4+5=9,3+7=10

2:

2+7=9,3+5=8,4+6=10

Pressanykeytocontinue

4.假如违反常规,允许三个“加数”与“和数”均可以由数字0作为开头,保留条件:

“任意两个数字都不相同”,则满足原问题题意的不同的加法算式(竖式)共有多少个?

t0=clock;

S1=1:

A=S1(i1);

S2=S1([1:

B=S2(i2);

S3=S2([1:

C=S3(i3);

S4=S3([1:

D=S4(i4);

S5=S4([1:

E=S5(i5);

S6=S5([1:

F=S6(i6);

S7=S6([1:

G=S7(i7);

S8=S7([1:

H=S8(i8);

I=S8([1:

if(A/(10*B+C)+D/(10*E+F)==G/(10*H+I)&

A<

D)

n=n+1;

%d/%d%d+%d/%d%d=%d/%d%d\n'

n,A,B,C,D,E,F,G,H,I);

end;

t=etime(clock,t0);

计算用时:

%g\n共有%d个解'

t,n)

1/26+5/78=4/39

1/32+7/96=5/48

第3个解:

1/96+7/48=5/32

第4个解:

2/68+9/34=5/17

第5个解:

4/56+7/98=3/21

第6个解:

5/26+9/78=4/13

13.984

共有6个解

5.验证本实验中的“问题四”、“问题五”的结论.能否给出相应的推理解法?

if((10*A+B)/C+(10*D+E)/F==(10*G+H)/I&

C<

F)

fprintf('

%d%d/%d+%d%d/%d=%d%d/%d\n'

运行结果:

13/2+45/6=98/7

14/2+35/7=96/8

14/2+96/8=57/3

15/3+27/9=48/6

15/3+27/9=64/8

17/2+58/4=69/3

第7个解:

18/3+27/9=54/6

18/3+54/9=72/6

18/3+72/9=56/4

第10个解:

18/4+23/6=75/9

第11个解:

18/6+54/9=27/3

第12个解:

21/3+54/9=78/6

第13个解:

21/7+96/8=45/3

第14个解:

24/6+35/7=81/9

第15个解:

28/7+15/9=34/6

第16个解:

35/7+18/9=42/6

第17个解:

37/1+45/6=89/2

第18个解:

37/1+54/9=86/2

第19个解:

41/3+89/6=57/2

第20个解:

45/3+96/8=27/1

第21个解:

46/2+18/9=75/3

第22个解:

46/3+87/9=25/1

第23个解:

54/6+32/8=91/7

第24个解:

54/6+98/7=23/1

第25个解:

56/7+81/9=34/2

第26个解:

58/2+49/7=36/1

第27个解:

65/3+48/9=27/1

第28个解:

67/3+15/9=48/2

第29个解:

73/6+21/9=58/4

第30个解:

74/3+95/6=81/2

第31个解:

75/6+81/9=43/2

第32个解:

76/8+54/9=31/2

第33个解:

81/6+45/9=37/2

第34个解:

84/6+27/9=51/3

第35个解:

92/4+16/8=75/3

第36个解:

97/2+58/4=63/1

第37个解:

97/3+58/6=42/1

第38个解:

98/2+54/3=67/1

13.108

共有38个解

6.设A~J表示十个互不相同的数字,问:

方程(注意:

组成分数的四个数的第一位数字不能为0)

共有多少个解?

tic;

forc=1:

fore=1:

forf=1:

forh=1:

fori=1:

if(i==a|i==b|i==c|i==d|i==e|i==f|i==g|i==h)

ifi~=a&

i~=b&

i~=c&

i~=d&

i~=e&

i~=f&

i~=g&

i~=h&

a/(10*b+c)+d/(10*e+f)==g/(10*h+i)&

d

num2str(a),'

/'

num2str(b),num2str(c),'

num2str(d),'

num2str(e),num2str(f),'

num2str(g),'

num2str(h),num2str(i)])

t3=toc;

\nTheelapsedtime(measuredbytic/toc)is:

t3)

第3个解:

第4个解:

第5个解:

第6个解:

Theelapsedtime(measuredbytic/toc)is:

86.9631

3数据的统计分析基础

实验目的

在日常生活中我们会在很多事件中收集到一些数据(比如:

考试分数、窗口排队人数、月用电量、灯泡寿命、测量误差、产品质量、月降雨量等数据),这些数据的产生一般都是随机的.这些随机数据乍看起来并没有什么

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

当前位置:首页 > 工程科技 > 机械仪表

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

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