yangfanxing__ 发表于 2008-11-29 22:39

求助:MATLAB进行级数运算需要高精度比如e-10,运行则没有结果……该怎么处理呢???

:@L
进行简单的级数运算;
如果是低精度比如10的-4次   (计算量为千的数量级)   还可以运行得到结果;
但是到了高精度比如10的-10次 (计算量为千万数量级) , 那根本运行不下去。

有解决的方法么???或者要改变算法?简单的级数运算又该怎么改进算法呢???


以上问题求教高人,不胜感激!!!

[ 本帖最后由 yangfanxing__ 于 2008-11-30 08:56 编辑 ]

ChaChing 发表于 2008-11-30 21:50

不太确定楼主的问题! matlab的eps=10^-16?
建议楼主列出程序, 如此或许别人亦可试试!

yangfanxing__ 发表于 2008-12-1 21:01

补充:

依照精度来判别!!!
比方说要算1/(n^2)的和
先确定精度=0.001,再来计算
基本方式如下:
clc;clear;
s=0;
e=1;
n=1;
while e>=000.1
ss=s;
s=s+1/(n^2)
n=n+1;
e=s-ss;
end
e
这是可以计算的!

但是如果确定精度= 0.000000001(假设这样)
那么matlab就需要计算千万次这样子——结果是等半天仍不见输出!~~~
这个问题怎么解决呢???:handshake

ChaChing 发表于 2008-12-2 08:32

我试过了, 没报错! n=31624即收敛了!

楼主的写法, 我不习惯, 请参考我写的
n=1; e=1; s=0;
while e>10^-9, e=1/(n^2); s=s+e; n=n+1, end

也试过e>10^-14, 没报错! 但的确要等些时间!
但我想这是正常的, loop上千万次当然需时间, 除非能精进算法!

[ 本帖最后由 ChaChing 于 2008-12-2 10:12 编辑 ]
页: [1]
查看完整版本: 求助:MATLAB进行级数运算需要高精度比如e-10,运行则没有结果……该怎么处理呢???