mathematica中循环怎么实现
2017-08-20
展开全部
因为在Mathematica中使用循环确实是低效的。。。。。。深层次的原因涉及到Mathematica的底层实现所以我不太懂,但是至少从下面几个例子可以看出Mathematica里确实有很多比循环更好的方法求和首先举一个最简单的求和例子,求的值。为了测试运行时间取n=10^6一个刚接触Mathematica的同学多半会这样写sum=0;For[i=1,i<=10^6,i++,sum+=Sin[N@i]];(*其中N@i的作用是把整数i转化为浮点数,类似于C里的double*)sum为了便于计时用Module封装一下,运行时间是2.13秒,如下图然后一个有一定Mathematica经验的同学多半会知道同样作为循环的Do速度比For快,于是他可能会这么写sum=0;Do[sum+=Sin[N@i],{i,1,10^6}];sum如下图,用时1.37秒,比For快了不少
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-08-19
展开全部
因为是函数式编程,递归效率高于循环。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |