在Matlab中, inf和inf/ inf有什么区别?

如题所述

第1个回答  2023-08-21

在Matlab中,inf为无穷大量+∞,-inf为无穷小量-∞,在Matlab程序执行时,即使遇到了以0为除数的运算,也不会终止程序的运行,而只给出一个“除0”警告,并将结果赋成inf,继续执行。

Matlab中的Inf和-Inf分别代表正无穷和负无穷,NaN表示非数值的值,产生一般是由于0 做了分母或者运算溢出,产生了超出双精度浮点数数值范围的结果,非数值量则是因为0/0,或者Inf/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 =