Können wir in Mathematica einen Buchstaben mit einem Index als Variable verwenden?

  • Ich habe es versucht

     Subscript[a, 0] = 1
    (* 1 *)
    
    Clear[Subscript[a, 0]]
     
            During evaluation of Clear::ssym: Subscript[a, 0] is not a symbol or a string. >>
     
     Clear[a]
    Subscript[a, 0]
    (* 1 *)
     

    Irgendeine Idee?

    05 January 2015
    Dr. belisarius
1 answer
  • Ja, das ist mit Einschränkungen möglich.

    Sie haben mindestens drei Möglichkeiten, um eine Zuordnung zu einem tiefgestellten Symbol als 0 vorzunehmen :

    1. machen Sie eine Regel für Subscript

    2. machen Sie eine Regel für a

    3. "symbolisieren" Sie eine 0 mit der Notation-Paket / Palette

    In jedem Fall, wenn ich zB schreibe Subscript[a, 1] Dies kann auch als 1 eingegeben werden, indem Sie a , dann Ctrl + _ und dann eingeben 1 .

    Wenn Sie schreiben:

     Subscript[a, 1] = "dog";
     

    Sie machen eine Zuordnung zu Subscript:

     DownValues[Subscript]
     

    {HoldPattern [a 1 ]: & gt; "dog"}

    Sie erstellen eine Regel für a, indem Sie TagSet verwenden:

     a /: Subscript[a, 2] = "cat";
    
    UpValues[a]
     

    {HoldPattern [a 2 ]: & gt; "cat"}

    Wenn Sie die Palette Notation verwenden, verwirren Sie sich hinter den Kulissen mit darunterliegenden Box-Formularen, sodass eine Zuordnung zu OwnValues möglich ist:

    Können wir in Mathematica einen Buchstaben mit einem Index als Variable verwenden?

    Jeder von ihnen kann entweder mit Unset oder TagUnset:

    gelöscht werden
     Subscript[a, 1] =.
    
    a /: Subscript[a, 2] =.
     

    Können wir in Mathematica einen Buchstaben mit einem Index als Variable verwenden?

    01 February 2012
    Mr.Wizard