True 在此 Wolfram 输出中意味着什么?
What does True mean in this Wolfram output?
这是一个简单的 WolframCloud computation:
当 0 < x < 1 为 True 时答案为 1,当 0 < x < 1 为 False 时答案为 0,那么为什么输出关联 True
与 0?
(在WolframAlpha中,执行Limit[Boole[0<x<1] (1 + 1/a) ,a->Infinity]
显示正确答案,即Boole[0<x<1]
,但点击"Open code"时仍然出现奇怪的结果。)
编辑:给出相同结果的另一种形式是
f[x_,a_]:=Boole[0<x<1] (1 + 1/a)
Limit[f[x,a],a->Infinity]
输出应该是Boole[0<x<1]
,但奇怪的是True
。
你的表达没有意义。它不是方程式并且 x 未定义。
你想计算什么?
Boole[expr] (* yields 1 if expr is True and 0 if it is False. *)
Limit[expr,x->Subscript[x, 0]] (* finds the limiting value of expr when x approaches Subscript[x, 0]. *)
因此,Boole[0<x<1]
将始终产生 1 或 0,并且独立于 a
。但是,Limit[1+1/a, a-> Infinity]
与 x 无关,总是会产生 1。
简化这个表达式你得到 n * 1
其中 n
属于 [0,1],并且完全依赖于 x
.
我的猜测是您的输入混淆了 Mathematica,因此产生了奇怪的输出。顺便提一句。在 Mathematica 桌面上,输出是
Boole[0 < x < 1]
表明表达式的值完全取决于我上面描述的 x..
似乎 WolframAlpha 沙箱中的错误在哪里 - 它可能无法推断出您分析的 Boole[0 < x < 1]
表达式独立于极限计算,因此计算不正确。要获得正确的结果 - 将 Boole 函数放在 limit 前面:
Boole[0 < x < 1] Limit[(1 + a^(-1)), a -> Infinity]
顺便说一句,WolframAlpha online calculation 正确显示答案
虽然起初看起来很奇怪(或者,实际上是一个错误),但在 Wolfram 语言中,这是 piecewise 函数输出中 True 的标准用法,它的含义是 "otherwise"(当要按顺序评估的所有其他列出的条件均为 False 时)。
换句话说,这样的输出表达式应理解为 {value, condition} 对的列表,其计算结果为 第一个 条件为 True 的列出值,如以下示例所示:
这是一个简单的 WolframCloud computation:
当 0 < x < 1 为 True 时答案为 1,当 0 < x < 1 为 False 时答案为 0,那么为什么输出关联 True
与 0?
(在WolframAlpha中,执行Limit[Boole[0<x<1] (1 + 1/a) ,a->Infinity]
显示正确答案,即Boole[0<x<1]
,但点击"Open code"时仍然出现奇怪的结果。)
编辑:给出相同结果的另一种形式是
f[x_,a_]:=Boole[0<x<1] (1 + 1/a)
Limit[f[x,a],a->Infinity]
输出应该是Boole[0<x<1]
,但奇怪的是True
。
你的表达没有意义。它不是方程式并且 x 未定义。 你想计算什么?
Boole[expr] (* yields 1 if expr is True and 0 if it is False. *)
Limit[expr,x->Subscript[x, 0]] (* finds the limiting value of expr when x approaches Subscript[x, 0]. *)
因此,Boole[0<x<1]
将始终产生 1 或 0,并且独立于 a
。但是,Limit[1+1/a, a-> Infinity]
与 x 无关,总是会产生 1。
简化这个表达式你得到 n * 1
其中 n
属于 [0,1],并且完全依赖于 x
.
我的猜测是您的输入混淆了 Mathematica,因此产生了奇怪的输出。顺便提一句。在 Mathematica 桌面上,输出是
Boole[0 < x < 1]
表明表达式的值完全取决于我上面描述的 x..
似乎 WolframAlpha 沙箱中的错误在哪里 - 它可能无法推断出您分析的 Boole[0 < x < 1]
表达式独立于极限计算,因此计算不正确。要获得正确的结果 - 将 Boole 函数放在 limit 前面:
Boole[0 < x < 1] Limit[(1 + a^(-1)), a -> Infinity]
顺便说一句,WolframAlpha online calculation 正确显示答案
虽然起初看起来很奇怪(或者,实际上是一个错误),但在 Wolfram 语言中,这是 piecewise 函数输出中 True 的标准用法,它的含义是 "otherwise"(当要按顺序评估的所有其他列出的条件均为 False 时)。
换句话说,这样的输出表达式应理解为 {value, condition} 对的列表,其计算结果为 第一个 条件为 True 的列出值,如以下示例所示: