MATLAB结果中的inf(无穷大)解决办法

对于较大数乘积运算结果中的inf,可以采用sym(a)符号变量解决。
例如,求区间[1,1000000]内所有质数的乘积。
若直接运行:
tic
A=1:1000000;
B=A(isprime(A));
prod(B)
toc
得出的结果将是inf,这样并不知道结果的大致大小,可以采用以下指令:
tic
A=1:1000000;
B=A(isprime(A));
vpa(prod(sym(B)),6)
toc

将A中质数组成的矩阵B先经过符号变量转化,之后用vpa( )函数,设定有效数字为六位,这样就能得到结果
ans =

                              1.47056e433636

                  时间已过 10.791595 秒。

你可能感兴趣的:(MATLAB)