QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 9752|回复: 2
打印 上一主题 下一主题

极限测试之Matlab与Forcal的递归函数调用效率

[复制链接]
字体大小: 正常 放大
forcal 实名认证       

45

主题

3

听众

282

积分

升级  91%

  • TA的每日心情
    难过
    2012-8-27 18:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2011-7-31 10:08 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    以Fibonacci递归程序为例进行比较。2 |' f# t! K: @9 V0 M' X

    $ `& U: d+ p& b/ H4 r2 E% N* mMatlab 2009a的Fibonacci函数定义:
    1. function k=fib(n)\" F. c& F  Z% g) X, e* L) u' O6 F
    2. if n == 0
      7 q; T* r8 r1 J& h  Q/ w6 h- u
    3.   k=0;' S2 m* i: v% a: u: `+ I( E
    4.   return;; @3 I& u9 P6 x  o  n
    5. else if n == 19 l8 z$ @7 z1 J+ i
    6.   k=1;  C\" n% A  x- E# v1 G& N* r# }) _/ q
    7.   return;  k/ V' o( b3 M6 b
    8. else
      / S5 L1 w5 o, s+ N6 u2 h
    9.   k=fib(n - 1) + fib(n - 2);( t. B! C5 F6 x8 R
    10.   return;$ U* v\" {; j- w0 I9 J4 h
    11. end
      4 q5 P% V' A5 _  J
    12. end
    复制代码
    运行结果:
    1. tic;- ]  v% C; `\" z$ N  Q
    2. fib(30)4 S; u$ d. V7 i) b% z* V: u
    3. toc
      , W, P  G) z\" p% \\" m: N7 r2 L

    4. $ c* A1 T; n* q
    5. ans =\" T/ @/ A7 V9 j9 R
    6.       8320405 L. }2 g' i5 d# t+ Q$ |
    7. , ]/ J\" P( s6 k; P: Y/ g- D% F
    8. Elapsed time is 26.315245 seconds.
    复制代码
    ===============' U: v: [* R1 J1 j8 b* h) s* H
    ( K! h7 m# i3 Z+ z
    Forcal 9(OpenFC演示)的Fibonacci函数及代码:
    1. SetRealStackMax(1000);
      ! {% |7 h. }# `& h! |
    2. F(n)= which{
      % p# r2 ~7 J; S2 R: n
    3.     n == 0,2 ^& w/ \4 d4 N
    4.         return(0),
      - z\" |% O6 J5 y& b  N
    5.     n == 1,  s& B$ @2 I  {( ~8 Y
    6.         return(1),/ z3 r\" t! S) X0 L. k  v2 B3 \
    7.     return [F(n - 1) + F(n - 2)]
      4 k& _0 r1 T( S\" h  |) z
    8. };
      , D\" @\" ^* h0 M- K4 ^* Q) [& V
    9. mvar:
      ! r; ~+ @( P7 f; z, a! _
    10. t=sys::clock(),  n$ E& V3 Y2 k8 s* e  }* L
    11. F(30);/ P5 t5 Z8 ]/ L: a) r: ?2 C
    12. [sys::clock()-t]/1000;
    复制代码
    结果:
    ! S* r( |$ _0 P  h& q. b, E$ o9 n1 C832040.
    8 {" ^7 ]# c( `, h0 }$ c0.391  秒
      `% R0 M9 B* x# R1 ?" U# o2 u# N
    3 t0 B5 R. x$ x1 C* {. G二者效率相差数十倍。
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    0

    主题

    0

    听众

    3

    积分

    升级  60%

    该用户从未签到

    回复

    使用道具 举报

    alair005        
    头像被屏蔽

    0

    主题

    4

    听众

    782

    积分

    升级  45.5%

  • TA的每日心情

    2012-2-7 08:08
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    提示: 作者被禁止或删除 内容自动屏蔽
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-6-16 20:47 , Processed in 0.545508 second(s), 68 queries .

    回顶部