matlab循环结构程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四循环结构程序设计

一、实验目的

1.掌握利用for语句实现循环结构的方法。

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

3.熟悉利用向量运算来代替循环操作的方法。

二、实验内容

1. 根据pi*pi/6=1/1^2+1/2^2+1/3^2+……+1/n^2,求pi的近似值。当n分别

取100,1000,10000时,结果是多少?

2. 根据y=1+1/3+1/5+……+1/(2n-1),求

(1)y<3时的最大n值

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

4. 已知{f1=1,n=1;f2=0,n=2;f3=1,n=3;fn=fn-1-2fn-2+fn-3,n>3

求f1-f100中

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

(2)正数,零、负数的个数。

三、实验步骤(程序和结果)

1. 方法1:y=0;n=100;

>> for i=1:n

y=y+1/i/i;

end

>> y

y =

1.6350

>> pi=sqrt(6*y)

pi =

3.1321

y=0;n=1000;

for i=1:n

y=y+1/i/i;

end

>> y

y =

1.6439

pi=sqrt(6*y)

pi =

3.1406

y=0;n=10000;

>> for i=1:n

y=y+1/i/i;

end

>> y

y =

1.6448

pi=sqrt(6*y)

pi =

3.1415

方法2:n=100;i=1:n; >> f=1./i.^2;

>> y=sum(f)

y =

1.6350

>> pi=sqrt(6*y)

pi =

3.1321

n=1000;i=1:n;

>> f=1./i.^2;

>> y=sum(f)

y =

1.6439

>> pi=sqrt(6*y)

pi =

3.1406

y=0;n=10000;

for i=1:n

y=y+1/i/i;

end

>> y

y =

1.6448

pi=sqrt(6*y)

pi =

3.1415

2.(1)y=0;

n=0;

while(y<3)

n=n+1

y=1./2*n-1;

end

n

n=

8

(2)y=0;

n=8;

y=1./2*n-1;

y

y=

3

4.

四、思考题

1. 你认为第1题用sum函数、for语句、while语句这三种方法哪种设计程序更为方便? Sum函数最方便。

2. 在多重循环的嵌套结构中应当注意哪些事项?比如少写一个end会有运行结果吗?

要注意内,外循环之间的关系,以及各语句放置的位置。不会有运行结果。

3.

五、实验总结:上机实验体会(心得、经验、教训)

通过这次上机,我对循环结构程序设计这个章节有了更深入的认识和了解。在解决了很多问题的同时,也掌握了很多知识,使我受益匪浅。

相关文档
最新文档