代码之家  ›  专栏  ›  技术社区  ›  Yaroslav Bulatov

处理下标变量

  •  2
  • Yaroslav Bulatov  · 技术社区  · 14 年前

    假设我定义了以下(坏的)模式

    Subscript[\[Beta], i_][x_] := Subscript[\[Beta], i][x[[i]]];
    
    1. 是否可以在不清除所有其他下标变量定义的情况下清除此模式?我的第一个想法是修改下标的下标值,但它似乎是空的

    2. 是否有可能/实际使用带有下标参数的函数?也就是说 f[x_1,x_2,x_3]:=Total[x_#&/@Range[3]] . 我听说有人用 Symbolize 为了有助于下标,它能在这里工作吗?

    1 回复  |  直到 14 年前
        1
  •  4
  •   Janus    14 年前

    它在里面 SubValues (见 Information["*Values"] ).

    In[25]:= Subscript[\[Beta],i_][x_]:=Subscript[\[Beta],i][x[[i]]];
    SubValues[Subscript]
    Out[26]= {HoldPattern[Subscript[\[Beta], i_][x_]]:>Subscript[\[Beta], i][x[[i]]]}
    

    只是使用 =. 清除:

    In[27]:= Subscript[\[Beta],i_][x_]=.
    SubValues[Subscript]
    Out[28]= {}
    

    高温高压