Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让MATLAB显示作为Inf(无穷大)返回的数字?_Matlab - Fatal编程技术网

如何让MATLAB显示作为Inf(无穷大)返回的数字?

如何让MATLAB显示作为Inf(无穷大)返回的数字?,matlab,Matlab,我正在编写一个MATLAB程序,想知道当返回值显示为Inf(对于MATLAB来说太大)时,如何获取返回值 您可以计算该数字,但不能以本机方式计算。您需要使用MATLAB的可变精度算术方法或。首先,以2步为单位从1到1000创建向量,然后将其封装为vpa对象。之后,按照Cheery的建议,按此顺序致电prod。因此,请尝试以下方法: >> A = vpa(1:2:1000); >> prod(A) ans = 1.0074832976375085400403891739

我正在编写一个MATLAB程序,想知道当返回值显示为
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