求助:MATLAB进行级数运算需要高精度比如e-10,运行则没有结果……该怎么处理呢???
:@L进行简单的级数运算;
如果是低精度比如10的-4次 (计算量为千的数量级) 还可以运行得到结果;
但是到了高精度比如10的-10次 (计算量为千万数量级) , 那根本运行不下去。
有解决的方法么???或者要改变算法?简单的级数运算又该怎么改进算法呢???
以上问题求教高人,不胜感激!!!
[ 本帖最后由 yangfanxing__ 于 2008-11-30 08:56 编辑 ] 不太确定楼主的问题! matlab的eps=10^-16?
建议楼主列出程序, 如此或许别人亦可试试!
补充:
依照精度来判别!!!比方说要算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 我试过了, 没报错! 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]