查看单个帖子
旧 2008-05-24, 17:46   #1
wmch85
普通会员
 
注册日期: 2008-03-20
年龄: 41
帖子: 30
声望力: 18
wmch85 正向着好的方向发展
默认 [原创]对“一个问题的几种解法(matlab)”的补充

上次说了三种算法,其实还有一种似乎更为简单,就是通用性差了点

可以直接调用sum函数。
sum(2.^[0:63])

写成通用形式
function s=my_sum(n)
my_sum=sum(2.^[0:63]);
end

当然,通常用的是double型。如果想要运算准确,比如算到第200项
就可用:sum(sym(2).^[0:200])
或:syms k; symsum(2^k,0,200)

结果:3213876088517980551083924184682325205044405987565585670602751
耗时分别为:Elapsed time is 0.015000 seconds.
Elapsed time is 2.266000 seconds.



感觉matlab实在是威力巨大,需要潜心研究,才能体会其中的奥妙。


希望大家多提批评意见,共同进步
wmch85 当前离线   回复时引用此帖