3

这是一个简单的WolframCloud 计算

在此处输入图像描述

答案是 1 当 0 < x < 1 是 True 和0 当 0 < x < 1 是 False,那么为什么输出True与 0 相关联呢?

(在 WolframAlpha 中,执行Limit[Boole[0<x<1] (1 + 1/a) ,a->Infinity]显示正确答案,即 ,Boole[0<x<1]但单击“打开代码”时仍会出现奇怪的结果。)

编辑:给出相同结果的另一种形式是

f[x_,a_]:=Boole[0<x<1] (1 + 1/a)
Limit[f[x,a],a->Infinity]

输出应该是Boole[0<x<1],而是涉及的奇怪True

4

3 回答 3

1

似乎 WolframAlpha 沙箱中的错误在哪里 - 它可能无法推断出您分析的Boole[0 < x < 1]表达式独立于极限计算,因此计算不正确。要获得正确的结果 - 将布尔函数放在限制前面:

Boole[0 < x < 1] Limit[(1 + a^(-1)), a -> Infinity]

顺便说一句,WolframAlpha在线计算显示正确答案

于 2018-08-31T08:04:45.940 回答
0

你的表达毫无意义。它不是一个方程,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。

简化这个表达式,你会得到属于 [0,1] 的n * 1位置,并且完全依赖于.nx

我的猜测是你的输入混淆了 Mathematica,因此输出很奇怪。顺便提一句。在 Mathematica 桌面上的输出是

Boole[0 < x < 1]

表明表达式的值完全取决于我上面描述的 x ..

于 2018-08-31T06:23:39.123 回答
0

虽然起初看起来很奇怪(或者,确实是一个错误),但在 Wolfram 语言中,这是 True 在分段函数的输出中的标准用法,其中它具有“否则”的含义(当所有其他列出的条件,要按顺序评估的,是 False)。

换句话说,这样的输出表达式应理解为 {value, condition} 对的列表,其计算结果为条件为 True 的第一个列出的值,如下例所示:

在此处输入图像描述

于 2018-09-05T20:09:17.097 回答