第六讲 程序设计.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文档。上传文档
查看更多
第六讲 程序设计

第六讲 程序设计(续) 如果想看一些内部函数,可以输入edit 函数名, 例如,edit magic. 书上内容解释 例1 应用switch,建立一个学生成绩管理数据库。 在editor中编写文件student.m S=struct(Name,Name,Score,Score,Rank,Rank); for i=1:5 switch S(i).Score case 100 S(i).Rank=满分; case a S(i).Rank=优秀; case b S(i).Rank=良好; case c S(i).Rank=中等; case d S(i).Rank=及格; otherwise S(i).Rank=不及格; end end disp([学生姓名 ,得分 ,等级]) for i=1:5 disp([S(i).Name,blanks(6),num2str(S(i).Score),blanks(6),S(i).Rank]); end 在命令窗口输入 for i=1:10 a{i}=89+i; b{i}=79+i; c{i}=69+i; d{i}=59+i; end Name={zhang,wang,li,zhao,liu}; Score={82,65,94,55,100}; Student 例2建立34矩阵A,使. a=ones(3,4); %该语句可要可不要. m=3;n=4; for i=1:m for j=1:n a(i,j)=1/(i+j-1); end end format rat a 例3 使用while语句,取任意整数,如是偶数,则用2除;否则乘3加1,重复此过程,直到整数变为1。 function c=collatz(n) c=n; while n1 if rem(n,2)==0 n=n/2; else n=3*n+1; end c=[c,n]; end 例4 生成非波那契(Leonardo Pisano Fibonacci was born in 1170)数。 如果每对兔子每个月生出一对兔子,且新生的兔子从第二个月开始就能生育,那么一年后由最初的那对兔子一共产生多少对兔子? 用表示个月后兔子的对数,则有(第个月新生兔子对,成年兔子对,所以第个月有兔子对),这是一个递归函数,初始条件为。 (1) function f=fibonacci(n) % FIBONACCI(n) generates the first n Fibonacci numbers. f=zeros(n,1); f(1)=1; f(2)=2; for k=3:n f(k)=f(k-1)+f(k-2); end (2) function f=fibnum(n) %FIBNUM(n) generates the nth Fibonacci number. if n=1 f=1; else f=fibnum(n-1)+fibnum(n-2); %递归调用。 end 注:(1)与(2)的结果有什么区别? 例5 function c=collatz(n) c=n; while n1 if rem(n,2)==0 n=n/2; else n=3*n+1; end c=[c,n]; end plot(c) hold on xlabel(X label) ylabel(Y label) title(collatz(n)) legend(图形) 例6 求使n!的n。 n=1; while prod(1:n)1.e100,n=n+1;end n 例7:已知以及对应的函数值,利用拉格朗日插值公式,计算插值函数 在编辑器中编写如下函数: function y=lagr1(X,Y,n,x) y=0.0; for k=1:n p=1.0; for j=1:n if j~=k p=p*(x-X(j))/(X(k)-X(j)); end end y=p*Y(k)+y; end 在命令窗口中输入如下命令: X=[0.0,0.1,0.195,0.3,0.401,0.5]; Y=[0.39894,0.39695,0.39142,0.38138,0.36812,0.35206]; n=6; y=lagr1(X,Y,n,0.15) y = 0.3945 如果在命令窗口中输入: syms x; lagr1(X,Y,n,x) 则输出的表达式

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档