如何让MATLAB显示作为Inf(无穷大)返回的数字?
我正在编写一个MATLAB程序,想知道当返回值显示为如何让MATLAB显示作为Inf(无穷大)返回的数字?,matlab,Matlab,我正在编写一个MATLAB程序,想知道当返回值显示为Inf(对于MATLAB来说太大)时,如何获取返回值 您可以计算该数字,但不能以本机方式计算。您需要使用MATLAB的可变精度算术方法或。首先,以2步为单位从1到1000创建向量,然后将其封装为vpa对象。之后,按照Cheery的建议,按此顺序致电prod。因此,请尝试以下方法: >> A = vpa(1:2:1000); >> prod(A) ans = 1.0074832976375085400403891739
Inf
(对于MATLAB来说太大)时,如何获取返回值
您可以计算该数字,但不能以本机方式计算。您需要使用MATLAB的可变精度算术方法或。首先,以2步为单位从1到1000创建向量,然后将其封装为
vpa
对象。之后,按照Cheery的建议,按此顺序致电prod
。因此,请尝试以下方法:
>> A = vpa(1:2:1000);
>> prod(A)
ans =
1.007483297637508540040389173923e1283
因此,这告诉我们数字是1.00748。。。x 101283。。。哇 您可以在不使用循环的情况下使用
prod(1:2:n)
。matlab对于任意精度的计算不是很好。那会去掉inf并给我一个真正的整数吗?不<代码>n太大了!不可能,嗯?老兄,我花了很多时间想办法,但那可能是因为我是个白痴。谢谢你@KyleRogers-我误解了你的意思。您可以计算,但需要使用vpa
。看看我的答案。@KyleRogers-我的荣幸!
>> A = vpa(1:2:1000);
>> prod(A)
ans =
1.007483297637508540040389173923e1283