Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Rekursion

  1. #1
    Registrierter Benutzer
    Registriert seit
    26.05.2007
    Beiträge
    20

    Rekursion

    Guten Morgen an alle!

    Ich möchte in einem LaTeX-Dokument etwas rekursiv berechnen.Dazu habe ich eine Variable definiert mit
    \def\x{0.0 }
    Dieser Variablen soll (innerhalb einer Schleife) ein neuer Wert zugewiesen werden, der den alten Wert der Variablen verwendet, z.B. (naiv gedacht) so:
    \def\x{x 1 add }
    Das funktioniert aber nicht! (TeX capacity exceeded).
    Meine Frage daher: Wie kann ich eine mit \def definierte Variable neu belegen?

    Vielen Dank im voraus!
    LG
    Robert

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin Robert,
    Zitat Zitat von ROSA Beitrag anzeigen
    \def\x{x 1 add }
    Das funktioniert aber nicht! (TeX capacity exceeded).
    Meine Frage daher: Wie kann ich eine mit \def definierte Variable neu belegen?
    Du könntest Dir eine zweite Variable anlegen, z. B. \mytmp -- in dieser legst Du eine Kopie von \x an und bei der Neuzuweisung von \x arbeitest Du dann mit dieser Kopie, also
    Code:
    \def\mytmp{}%nicht unbedingt notwendig
    \def\x{irgendwas}
    \let\mytmp\x
    \def\x{\mytmp\ anderes}
    so \x hier nur Deinen Schleifenzähler darstellt, dann nimmst Du vielleicht besser
    Code:
    \usepackage{ifthen}
    \newcounter{schleife}
    \setcounter{schleife}{0}%Startwert
    \whiledo{\theschleife<10}{%Endwert+1
      \stepcounter{schleife}%Schleifenzähler inkrementieren
      %Was hier steht, wird entsprechend oft durchlaufen
    }
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    26.05.2007
    Beiträge
    20
    Danke Rainer!

    Das mit dem Schleifenzähler funktioniert nicht weil meine Variable nicht ganzzahlig ist.
    An die Variante mit der zweiten Variablen, in die die erste kopiert wird, hatte ich auch schon gedacht. Es will mir nicht einleuchten, warum das nicht geht, aber es ist nunmal so!

    Nochmals danke für deine Bemühungen!
    Robert

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •