对于较大数乘积运算结果中的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 秒。
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐