matlab实验6 函数及其调用.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学实验练习六:函数 一、1)写一个 MATLAB 函数 piFun01.m 来计算下列级数: f(n) = 4*(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...) 其中 n 为函数的输入,代表上述级数的项数,级数和 f(n) 则是函数的输出。 function piFun01(n) s=0; for i=1:n s=s+4*((-1)^(i+1))/(2*i-1) ; end disp(['f(',num2str(n),')=',num2str(s)]); >> piFun01(5) f(5)=3.3397 >> piFun01(6) f(6)=2.976 2)使用 tic 和 toc 指令来测量 piFun01(100000) 的计算时间。如果你不知道如何使用这两个指令,请使用 help tic 及 help toc 来查出它们的用法。我的旧计算机是 Pentium 450MHz,所得的计算时间约为 2 秒。请说明你的计算机规格以及其计算时间。 %jisuanpiFun01(n) n=input('请输入 n : '); tic; piFun01(n); toc; >> jisuanpiFun01 请输入 n : 100000 Elapsed time is 0.015459 seconds. 我使用的计算机为: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz所得的计算时间约为0.9275 秒二、写一个 MATLAB 的递归函数 fibo.m 来计算 Fibonacci 数列,其定义如下: fibo(n+2) = fibo(n+1)+fibo(n) 此数列的启始条件如下: fibo(1) = 0, fibo(2) = 1. a) fibo(25) 的返回的值是多少? function f=fibo(n) if n==1 f=0; elseif n==2 f=1; else f=fibo(n-1)+fibo(n-2); end f=fibo(25) f = 46368 b) 使用 tic 和 toc 指令来测量 fibo(25) 的计算时间。我的计算机是 Pentium 2GHz,所得的计算时间约为 3.35 秒。请说明你的计算机规格以及其计算时间。 %jisuanfibo(n) n=input('请输入 n : '); tic; fibo(n); toc; >> jisuanfibo 请输入 n : 25 Elapsed time is 0.650178 seconds. 我使用的计算机为: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz所得的计算时间约为39.0107 秒c) 你们已学过离散数学,知道 Fibonacci 数列的第 n 项可以直接表示成 fibo(n)={[(1+a)/2]^(n-1)-[(1-a)/2]^(n-1)}/a 其中 a 是 5 的平方根。写利用上式一个 MATLAB 的非递归函数 fibo2.m 来计算 Fibonacci 数列。 function f=fibo2(n) a=sqrt(5); f=(((1+a)/2)^(n-1)-((1-a)/2)^(n-1))/a; d) fibo2(25) 的值为何?是否和 fibo(25) 相同? >> f=fibo2(25) f = 4.6368e+004 fibo2(25) 的值为4.6368e+004和 fibo(25)相同e) 请计算 fibo2(25) 的计算时间,并和 fibo(25) 比较。 >> jisuanfibo2 请输入 n : 25 Elapsed time is 0.000067 seconds. >> jisuanfibo 请输入 n : 25 Elapsed time is 0.626875 seconds. 计算 fibo2(25) 的计算时间fibo(25)的时间. 请比较并说明使用 fibo.m 和 fibo2.m 来计算 Fibonacci 数列的优缺点。 fibo.m 用时间太长, fibo2.m 容易出错. 三、假设在期中考后,我们用一个向量 x 来储存每个人的考试成绩。请写一个函数 ranking01.m,输入为成绩向量 x,输出则是此成绩的排名。例如,当 x = [92, 95, 58, 75, 69, 82] 时,ranking(x) 回传的排名向量则是 [2, 1, 6, 4, 5, 3],代表 92 分是排名第 2,95 分是排名第 1,58 分是排名第 6,等等。 提示 你可以使用循环(如 for-loop 和 while-l

文档评论(0)

资料 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档