Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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
为什么R将1提升到无穷大的幂为1?_R_Math - Fatal编程技术网

为什么R将1提升到无穷大的幂为1?

为什么R将1提升到无穷大的幂为1?,r,math,R,Math,众所周知,在数学中,幂为无穷大的1是一种不确定形式。还有更多的讨论 在R控制台中 > (1)^(Inf) [1] 1 我假设它应该生成NaN。请解释此输出背后的逻辑。我在Windows7平台(32位系统)上使用的是R版本3.1.2 来自帮助(“^”): 1^y和y^0始终为1 经常输出1^Inf的限制非常有用。对于0^0,返回1通常也比其他任何选项更有用。但是,这些基本上是设计决策。可能有历史原因和兼容性原因。R是S和S的变体,可以追溯到1976年。R本身于1993年首次发布,与商业软

众所周知,在数学中,幂为无穷大的1是一种不确定形式。还有更多的讨论

在R控制台中

 > (1)^(Inf)
[1] 1
我假设它应该生成
NaN
。请解释此输出背后的逻辑。我在Windows7平台(32位系统)上使用的是R版本3.1.2

来自
帮助(“^”)

1^y和y^0始终为1


经常输出
1^Inf
的限制非常有用。对于
0^0
,返回1通常也比其他任何选项更有用。但是,这些基本上是设计决策。

可能有历史原因和兼容性原因。R是S和S的变体,可以追溯到1976年。R本身于1993年首次发布,与商业软件的兼容性非常重要

S被设计成一种统计语言,因为不确定形式的精确含义的细微差别不是什么大问题。您能否举例说明在实际的统计应用程序中何时可能出现这些形式

我怀疑在S的早期版本中,决定设置1^(any)=1和(any)^0=1,0^(any)=0,(any)^1=(any)。不过,这些声明的具体实施顺序可能不会给出太多

一旦做出决定,它就几乎一成不变了。改变行为可能会破坏第三方算法。因此,仅仅遵循一个几乎没有实际后果的惯例就更容易了


这些惯例是一成不变的。Excel错误地获得了某些运算符的优先级,但不敢为中断兼容性而更改它

感谢罗兰的及时回复,但是一些软件(例如MATLAB)将其生成为
NaN
,这是非常合乎逻辑的。我的回答的哪一部分你不明白?Matlab创作者所做的设计决策在这里是不相关的,这是事实。无论如何,谢谢你的回复。我已经接受了答案。请注意,广泛使用的IEEE 754浮点算术标准规定“pow(1,y)对于任意y为1”,并且“pow(x,0)对于任意x为1”。有关该主题的一些讨论,请参阅Kahan的论文(特别是第9页)。