04_循环结构程序设计(第4章).docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验04 循环结构程序设计 (第4章 MATLAB程序设计) 一、实验目的 1. 掌握利用for语句实现循环结构的方法。 2. 掌握利用while语句实现循环结构的方法。 3. 熟悉利用向量运算来代替循环操作的方法。 二、实验内容 1. 求π的近似值 ,求π的近似值。当n分别取100、1000、10000时,结果是多少? 要求:分别用循环结构和向量运算(使用sum函数)来实现。 程序及运行结果: %文本编辑器中的程序 %循环结构的计算 y=0; n=input(请输入n的值:n=); for i=1:n y=y+1/i/i; end y pi=sqrt(6*y) %向量方法的计算 n=input(请输入n的值:n=); i=1:n; f=1./i.^2; y=sum(f) pi=sqrt(y*6) %命令窗口中的运行结果 format compact 请输入n的值:n=100 y = 1.6350 pi = 3.1321 请输入n的值:n=1000 y = 1.6439 pi = 3.1406 请输入n的值:n=10000 y = 1.6448 pi = 3.1415 2. 求级数部分和 根据,求: (1) y3时的最大n值。 (2) 与(1)的n值对应的y值。 程序及运行结果: %文本编辑器中的程序 y=1;n=1; while y3 n=n+1; y=y+1/(2*n-1); end y if y3 n=n-1; end n %命令窗口中的运行结果 y = 3.0033 n = 56 3. 迭代过程收敛问题 考虑以下迭代公式: 其中a、b为正的常数。 (1) 编写程序求迭代的结果,迭代的终止条件为|xn+1-xn|≤10-5,迭代初值x0=1.0,迭代次数不超过500次。 (2) 如果迭代过程收敛于r,那么r的准确值是,当(a,b)的值取(1,1)、(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。 程序及运行结果: %文本编辑器中的程序 a=input(请输入正数:a=); b=input(请输入正数:b=); x=1.0; n=0; while abs(x-a/(b+x))=0.00001 if n=500 x=a/(b+x); n=n+1; end end x r(1)=(-b+sqrt(b^2+4*a))/2 r(2)=(-b-sqrt(b^2+4*a))/2 s=r-x %命令窗口中的运行结果 请输入正数:a=1 请输入正数:b=1 x = 0.6180 r = 0.6180 -0.5000 - 0.8660i r = 0.6180 -1.6180 s = -0.0000 -2.2361 请输入正数:a=8 请输入正数:b=3 x = 请输入正数:a=1 请输入正数:b=1 x = 0.6180 r = 0.6180 -0.5000 - 0.8660i r = 0.6180 -1.6180 s = -0.0000 -2.2361 请输入正数:a=8 请输入正数:b=3 x = 1.7016 r = 1.7016 -1.6180 r = 1.7016 -4.7016 s = 0.0000 -6.4031 请输入正数:a=10 请输入正数:b=0.1 x = 3.1127 r = 3.1127 -4.7016 r = 3.1127 -3.2127 s = -0.0000 -6.3254 4. 求解数列 已知 求f1~f100中: (1) 最大值、最小值、各数之和。 (2) 正数、零、负数的个数。 程序及运行结果: %文本编辑器中的程序 f(1)=1;f(2)=0;f(3)=1; for n=4:100 f(n)=f(n-1)-2*f(n-2)+f(n-3); end F; %f1到f100的值 max=max(f) %最大值 min=min(f) %最小值 sum=sum(f) %各数之和 i=length(find(f0)) %负数的个数 j=length(find(f0)) %正数的个数 k=length(find(f==0)) %零的个数 %命令窗口中的运行结果 j = 29 s = 23615 max = 4.3776e+011 min = -8.9941e+011 sum

文档评论(0)

peace0308 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档