【问题标题】:"$" symbol in mathematica output数学输出中的“$”符号
【发布时间】:2011-12-10 01:44:46
【问题描述】:

我在使用以下代码时遇到了一些小问题:

Lagrange[list_] := 
  Module[{points = list, length, k, j, m, x, g}, 
    length = Length[points]; 
    k = length - 1; 
    f = Sum[points[[j + 1,2]]*Product[If[j != m, (x - points[[m + 1,1]])/
          (points[[j + 1,1]] - points[[m + 1,1]]), 1], {m, 0, k}], {j, 0, k}]; 
    g = FullSimplify[Expand[f]]; 
    Return[f]]

我得到的输出是:

Out[101]= 0. -1.85698 (-1.5+x$26810) (-0.75+x$26810) (0. +x$26810) (0.75+x$26810)
         +0.490717 (-1.5+x$26810) (-0.75+x$26810) (0. +x$26810) (1.5 +x$26810)
         -0.490717 (-1.5+x$26810) (0. +x$26810) (0.75 +x$26810) (1.5 +x$26810)
         +1.85698 (-0.75+x$26810) (0. +x$26810) (0.75 +x$26810) (1.5 +x$26810)

我关心的是这些“$”符号。我不知道它们是什么意思,我找不到关于它们的文档,而且它们正在阻止绘制这个多项式。

【问题讨论】:

    标签: math wolfram-mathematica


    【解决方案1】:

    您的输出中的$ 来自Module 的词法范围生成的唯一变量(请参阅mathematica/ref/Module 的更多信息部分)。这就是为什么我让my LagrangePoly function 接受多项式所在的符号。我使用了LagrangePoly[list_, var_:x],它默认为全局符号x

    问题的一个简单例子是

    In[1]:= Module[{x}, x]    
    Out[1]= x$583
    

    “局部”变量x$nnn中的数字来自于全局$ModuleNumber

    如果你不明白这一点,那么你可能应该阅读教程Blocks Compared with Modules

    【讨论】:

    • 如果我想把这个功能放在一个包中以便在另一个笔记本中使用,你认为在我的情况下需要使用模块吗?
    • @Matthew:如果要将这段代码移动到一个包中,您可能希望灵活地选择多项式中使用的符号。所以符号x 应该像我建议的那样传递给函数。您也不需要Module 中的jm,因为它们已经由总和和乘积限定。最后,为什么你计算g,却在你的代码中返回f
    • 我从计算中删除了 g。 “g”是不必要的,来自旧版本。谢谢你帮我抓到。
    • 我想我应该让你知道......它现在完美运行;正如我所希望的那样。感谢你的帮助!关于 Hermite 插值多项式!
    • Simon,比x 更好的是\[FormalX] 以避免大多数冲突。
    【解决方案2】:

    在您的代码中,x 是一个局部变量。但是,您将返回一个包含 x 的表达式。本地化变量的目的是它们不应该出现在它们的上下文之外,在这种情况下是模块。

    考虑这个简单的例子:

    adder[x_] := Module[{y}, Return[x + y]]
    

    adder[2] 给出:2 + y$1048

    一个好的做法是认识到我们的函数加法器实际上应该自己返回一个函数。

    adder[x_] := Function[{y}, x + y]
    
    twoAdder = adder[2];
    

    twoAdder[3] 给出:5

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-01
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多