gpt4 book ai didi

wolfram-mathematica - 数学: question on evaluation of expression

转载 作者:行者123 更新时间:2023-12-02 04:26:55 25 4
gpt4 key购买 nike

mathgroup上有一个问题,当我在看它的时候,我注意到了这个东西,我不明白为什么,我以为这里的一些专家会知道。

执行 Dt [ x[1] ] 时

它给出零,因为在计算 x[1] 时,最后剩下的值是 1,从下面的 TracePrint 可以看出。因此 Dt 看到的就是“1”,因此 Dt[1] 是 0。

因此 Dt[ x[1] ] 为零

In[86]:= TracePrint[ Dt[x[1] ]]

During evaluation of In[86]:= Dt[x[1]]
During evaluation of In[86]:= Dt
During evaluation of In[86]:= x[1]
During evaluation of In[86]:= x
During evaluation of In[86]:= 1
During evaluation of In[86]:= 0

Out[86]= 0

这对我来说很有意义,直到我输入 x[1],并返回 x[1]

在[84]中:= x[1] 输出[84]= x[1]

但是 x[1] 返回 x[1] 对我来说也有意义,因为 x[1] 没有值,所以它应该返回未计算的值。

所以,我的问题是,为什么在上面的调用过程中 x[1] 的计算结果一直降到“1”,但在顶级笔记本界面,它的计算结果却没有为 1?

In[87]:= Evaluate[ x[1] ]
Out[87]= x[1]

谢谢

最佳答案

表达式

x[1]

计算结果为 1 - 它是一个具有未定义值的索引变量。问题是,当您使用带有 1 个参数的 Dt 形式时,x 被视为一个函数,而 1 - 它的参数,并且你得到 0。当你考虑时这会变得更清楚

In[1]:= Dt[x[y]]

Out[1]= Dt[y] Derivative[1][x][y]

如果您现在使用

In[2]:= Dt[x[1],x[1]]

Out[2]= 1

您得到1,因为现在您可以区分被视为变量的x[1]。或者,

In[3]:= Dt[x[1]^2, x[1]]

Out[3]= 2 x[1]

您对评估打印输出感到困惑,因为实际上,在评估表达式时,通常会评估所有部分 - 但是(在没有 x 的任何规则的情况下),x[1]<当然,Dt 内部也会计算回自身。您观察到的内容与带有一个参数的 Dt 如何解释该参数有关。

关于wolfram-mathematica - 数学: question on evaluation of expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6199437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com