Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-05-17, 19:25   #1
yhcode
高级会员
 
注册日期: 2008-05-13
年龄: 44
帖子: 232
声望力: 21
yhcode 正向着好的方向发展
默认

这个应该不难吧,弄个等比数列求和公式 sum = a1*(1-q^n)/(1-q)
function result = dengbi_sum(q,startind,endind)
a1 = q^startind;
t = 1 - q^(endind - startind);
result = a1 * t;
result = result/(1-q);



如计算1+2+4+8+... +2^k 则 result = dengbi_sum(2,0,k)
如计算 3+9+...+3^k 则 result = dengbi_sum(3,1,k)

上面的代码没用经过验证,不过应该没有问题,呵呵!
yhcode 当前离线   回复时引用此帖
旧 2008-05-19, 09:16   #2
tolabfans
普通会员
 
注册日期: 2008-02-29
年龄: 44
帖子: 92
声望力: 19
tolabfans 正向着好的方向发展
默认

引用:
作者: yhcode 查看帖子
这个应该不难吧,弄个等比数列求和公式 sum = a1*(1-q^n)/(1-q)
function result = dengbi_sum(q,startind,endind)
a1 = q^startind;
t = 1 - q^(endind - startind);
result ...
没有通用性
tolabfans 当前离线   回复时引用此帖
旧 2008-05-19, 16:35   #3
wmch85
普通会员
 
注册日期: 2008-03-20
年龄: 41
帖子: 30
声望力: 18
wmch85 正向着好的方向发展
默认

引用:
作者: yhcode 查看帖子
这个应该不难吧,弄个等比数列求和公式 sum = a1*(1-q^n)/(1-q)
function result = dengbi_sum(q,startind,endind)
a1 = q^startind;
t = 1 - q^(endind - startind);
result ...
非常感谢,你给我提供了一个全新的思路。
通过这几天的努力,我自己便出了一个具有通适性的迭代代码。为感谢大家的帮助,特贴出来和大家共享。只要是迭代问题,只需做小的更改即可。程序代码如下(经过验证):

function s=findsum(k)
if k==0
s=1;
else s=1+2*findsum(k-1);
end

希望与大家共同进步!!
谢谢大家!

前面由于着急出言不逊希望版主莫怪!
wmch85 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 07:20


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.