GalaxyE 发表于 2004-4-11 10:44:56

【讨论】请教如何在matlab中实现对收敛数列进行N到无穷大的求和?

有没有函数可以直接利用?

SCIE 发表于 2004-4-11 11:34:20

回复: 【讨论】请教如何在matlab中实现零到无穷大的求和?

sum可以求和,0到无穷大的和就是无穷大,这个就不用求了:D。

GalaxyE 发表于 2004-4-11 13:01:50

回复: 【讨论】请教如何在matlab中实现零到无穷大的求和?

楼上误解我的意思了,我所讲的是对诸于此类的数列 1/ 进行求和,其中n取1到无穷大。

sum只能对有限长度的向量和矩阵求和

taohe 发表于 2004-4-11 22:08:37

回复: 【讨论】请教如何在matlab中实现对收敛数列进行N到无穷大的求和?

我觉得SCIE说到了一个值得我们重视的问题:那就是,在做数值计算之前或当中,应该做必要的解析分析。

既然你知道这是个收敛的级数,那么简单的解析分析可能给你一个简洁的公式。

或者你就像用数字的方法,也是可以的,因为我们知道数值计算不是精确的,就像我们以前曾经讨论过的 1/3 * 3 =/= 1.

所以我们可以在可以容忍的精度范围内获得你需要的解:
n0=1000; % 先设一个很大的n0作为n
while(还没有达到你的要求)
    计算n=n0时的那个sum
    计算n=2*n0时的那个sum
    计算上面两个sum的差值的绝对值
    if(该绝对值 < 你想要的结果)
      跳出循环,结束计算
    else
      n0=2*n0;
      %接着进行计算
    end
end

[ 本帖最后由 bainhome 于 2007-5-29 20:14 编辑 ]

紫菜卷饭 发表于 2007-5-29 20:00:02

原帖由 taohe 于 2004-4-11 22:08 发表 http://www.simwe.com/forum/images/common/back.gif
我觉得SCIE说到了一个值得我们重视的问题:那就是,在做数值计算之前或当中,应该做必要的解析分析。

既然你知道这是个收敛的级数,那么简单的解析分析可能给你一个简洁的公式。

或者你就像用数字的方 ...


这位仁兄说的是,如果能简易的求出公式可能也就不需要求和了
问题是,假如,我要做傅立叶级数求和,不知如何解决呢?

pcqsl 发表于 2007-5-30 11:08:27

All guys here must have leaned calculus.According to the definition of "Limit" and "Convergence", we know that the cumulative sum can represent the infinite sum up to an error, which we can neglect when we have added sufficient large number of items. This is the fundamental reason to do things numerically.To work on functions, you may need to consider "Uniformly Convergence" to determine the least number of items to perform summation.

If you don't want to do those analytical work, you may try to use as many items as possible.Or you can have your own way to convince yourself that your result is close to the "real" result.

mallory 发表于 2010-9-16 19:01:39

4# taohe


>> 1/3*3

ans =

   1

lengyunfeng 发表于 2010-9-16 20:55:27

7# mallory
这可能是原来老版本的一个问题吧,taohe的意思很明显,因为/与*是相同运算级别的,那么当两个并立的时候就只能从左到右计算,这样就会有先算1/3=0.3333333333333...,再乘以3后就只有0.9999999999999...了。这样就会有一个谬论:1/3*3=/=1。这是计算机运算精度误差所致(应属舍入误差),其实现在很多数值计算中都有这个问题。
页: [1]
查看完整版本: 【讨论】请教如何在matlab中实现对收敛数列进行N到无穷大的求和?