博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab实验四循环结构程序设计,MATLAB实验四_循环结构程序设计.doc
阅读量:5251 次
发布时间:2019-06-14

本文共 1857 字,大约阅读时间需要 6 分钟。

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

MATLAB实验报告

学院:光电学院

班级:073-1

姓名:刘颖

学号:200713503117

实验四 循环结构程序设计

1.根据,求的近似值。当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=1000;

i=1:n;

f=1./i.^2;

x=sum(f);

y=sqrt(6*x)

运行结果:

x =

3.1406

n=10000

程序设计:

n=1000;

i=1:n;

f=1./i.^2;

x=sum(f);

y=sqrt(6*x)

运行结果:

x =

3.1415

2.根据y=1+,求:

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

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

程序设计:

y=1;n=1;

while(y<3)

n=n+2;

y=y+1/n;

end

y=y-1/n

n=(n+1)/2

运行结果:

y =

2.9944

n =

57

3.

考虑以下迭代公式:

其中a、b为正的常数。

(1)编写程序求迭代的结果,迭代的终止条件为,迭代初值=1.0,迭代次数不超过500次。

程序设计:

x=1.0;

a=2;

b=3;

x=a/(b+x);

n=1;

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

x=a/(b+x);

n=n+1;

end

x

n

运行结果:

x =

0.5616

n =

6

(2)如果迭代过程收敛于r,那么r的准确值是,当(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;

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

x=a/(b+x);

n=n+1;

end

x

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

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

运行结果:

x =

0.6181

r1 =

0.6180

r2 =

-1.6180

(a,b)取(8,3)

程序设计:

x=1.0;

a=8;

b=3;

x=a/(b+x);

n=1;

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

x=a/(b+x);

n=n+1;

end

x

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

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

运行结果:

x =

1.7016

r1 =

1.7016

r2 =

-4.7016

(a,b)取(10,0.1

程序设计:

x=1.0;

a=10;

b=0.1;

x=a/(b+x);

n=1;

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

x=a/(b+x);

n=n+1;

end

x

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

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

运行结果:

x =

3.1127

r1 =

3.1127

r2 =

-3.2127

4.已知

求中:

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

程序设计:

f(1)=1;

f(2)=0;

f(3)=1;

n=100;

max=f(3);

min=f(2);

sum=2;

for i=4:n

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

if f(i)>max

max=f(i);

elseif f(i)

min=f(i);

end

sum=sum+f(i);

end

sum

max

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;

for i=4:n

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

if f(i)>0

pn=pn+1;

elseif f(i)==0

zn=zn+1;

else

nn=nn+1;

end

end

disp('正数的个数:'),pn

disp('负数的个数:'),nn

disp('零的个数:'),zn

运行结果:

转载地址:http://zzoav.baihongyu.com/

你可能感兴趣的文章
MySQL 通配符学习小结
查看>>
STM8S TIM4库函数应用
查看>>
最短路径floy算法———模板
查看>>
用户界面 View(十三) (转载)
查看>>
使用userscript扩展浏览器插件
查看>>
GL_NEAREST 和 GL_LINEAR
查看>>
网络编程 socket
查看>>
基础------(HTML)-----(转)
查看>>
【转】C语言浮点数运算
查看>>
【bzoj3160】 万径人踪灭
查看>>
tomcat配置https访问
查看>>
emlog在nginx中添加rewrite规则
查看>>
初识Iaas,paas
查看>>
查看oracle 启动了多久
查看>>
Mina自定义编解码
查看>>
.NET 开源了,Visual Studio 开始支持 Android 和 iOS 程序编写并自带 Android 模拟器【转载】...
查看>>
Linux下chkconfig命令详解
查看>>
第一天开通博客纪念一下
查看>>
Android通过IO流获取服务器的图片数据
查看>>
取模运算的两种模式
查看>>