MATLAB实验四循环结构程序设计.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

MATLAB实验四-循环结构程序设计

PAGE

PAGE2

实验四循环结构程序设计

1.根据? 2

6

1 1

?12?22

1 1

?3n,???

?

3

n

2 2

x=

3.1406

求?的近似值。当n分别取100、

1000、10000时,记过是多少?n=100

程序设计:

n=100;

i=1:n;f=1./i.^2;x=sum(f);y=sqrt(6*x)运行结果:x=

3.1321

n=1000

n=10000

程序设计:

n=1000;

i=1:n;f=1./i.^2;x=sum(f);y=sqrt(6*x)运行结果:x=

3.1415

? ???2.根据y=1+

? ???

3 5 2n-1

(1)y3时的最大n值。

,求:

程序设计:

n=1000;

i=1:n;f=1./i.^2;x=sum(f);y=sqrt(6*x)运行结果:

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

程序设计:

y=1;n=1;

while(y3)

n=n+2;y=y+1/n;

end

y=y-1/nn=(n+1)/2运行结果:y=

2.9944

n=

57

3.

考虑以下迭代公式:

10e-5n=500)

x=a/(b+x);n=n+1;

endx

n

运行结果:

x=

0.5616

x

n?1

a n=

?b?x

?

n 6

其中a、b为正的常数。

(1)编写程序求迭代的结果,迭

(2)如果迭代过程收敛于r,那

代的终止条件为

x ?x

n?1 n

?10?5,

么r的准确值是?b?

b2?4a,当

2

迭代初值x =1.0,迭代次数不超

0

过500次。程序设计:x=1.0;

a=2;b=3;

x=a/(b+x);n=1;

while(abs(x-(a/x-b))

(a,b)的值取(1,1)、(8,3)、

(10,0.1)时,分别对迭代结果的准确值进行比较。

(a,b)取(1,1)程序设计:

x=1.0;a=1;b=1;

x=a/(b+x);

n=1;

n=1;

while(abs(x-(a/x-b))10e-5n=

while(abs(x-(a/x-b))10

500)

e-5n=500)

x=a/(b+x);

x=a/(b+x);

n=n+1;

n=n+1;

end

end

x

x

r1=(-b+sqrt(b^2+4*a))/2

r1=(-b+sqrt(b^2+4*a))/2

r2=(-b-sqrt(b^2+4*a))/2

r2=(-b-sqrt(b^2+4*a))/2

运行结果:

运行结果:

x=

x=

0.6181

1.7016

r1=

r1=

0.6180

1.7016

r2=

r2=

-1.6180

-4.7016

(a,b)取(8,3)

(a,b)取(10,0.1)

程序设计:

程序设计:

x=1.0;

x=1.0;

a=8;

a=10;

b=3;

b=0.1;

x=a/(b+x);

x=a/(b+x);

n=1;

while(abs(x-(a/x-b))10e-5n=500)

x=a/(b+x);n=n+1;

endx

r1=(-b+sqrt(b^2+4*a))/2r2=(-b-sqrt(b^2+4*a))/2运行结果:

x=

3.1127

r1=

3.1127

r2=

-3.2127

4.已知

?f?1, n?1

f? 1

f

f? ?0, n?2

f

2

2

程序设计:

f(1)=1;

f(2)=0;

f(3)=1;n=100;

max=f(3);

min=f(2);sum=2;fori=4:n

f(i)=f(i-1)-2*f(i-2)+f(i-3);

iff(i)max

max=f(i);elseiff(i)min

min=f(i);endsum=sum+f(i);

end

?? ?1, n?3

?

??f3?f

?

n

n?1

2f

f

n?2

n?3

, n?3

sum

求f~f

1

中:

100

max

(1)最大值、最小值、各数之和。

min

运行结果:

sum=

-7.4275e+011

max=

4.3776e+011

min=

-8.9941e+011(2)正数、零、负数的个数。

程序设计:

f(1)=1;

f(2)=0;

f(3)=1;n=100;

pn=2;nn=0;zn=1;fori=4:n

f(i)=f(i-1)-2*f(i-2)+f(i-3);

iff(i)0

pn=

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档