DMUG-Archiv 2003

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Funktionen mehrerer Parameter

Hallo zurück,

oh Gott, ich danke dir für alle Informatiker dieser Welt.

Der Hinweis

phi[param_List]:= ...

hat mir sehr geholfen, vielen Dank. Vielleicht kann ich mich ja mal revangieren.
Die übrigen Kommentare werde ich mir aber auch sehr zu Herzen nehmen.

gruss
dirk

Jens-Peer Kuska schrieb:

Hallo,

oh Gott, das Grauen hat ja so viele Gesichter.

Du willst eine Funktion phi[] definieren, die als Argument
eine Liste hat, und die Teile dieser Liste in einen Ausdruck
einsetzen. Also

phi[param_List]:= (* ist schon mal die Funktion mit der Liste als
Argument *)
 param[[1]] + (1 + param[[4]])*(Cos[param[[3]]] Cos[param[[2]]])

und param[[i]] extrahiert die Teile (Part[])


Ansonsten ist ein Funktionsaufruf phi[] etwas ganz ganz anderes, als ein
indizierter Zugriff param[[i]], es sei den man kann bloss FORTRAN
und hat einen alten Lochkarten-Stanzer.
Selbst dann sollte man aber den semantischen Unterschied kennen ...

Ausserdem w"are

phi[param_List]:=Module[{p1,p2,p3,p4},
                   {p1,p2,p3,p3}=param;
                   p1 + (1 + p4)*(Cos[p3] Cos[p2])
                  ]

viel leichter zu lesen, weil f"ur n<4 phi[] eh nicht funktioniert
von

phi[p1_,p2_,p3_,p4_]:=p1 + (1 + p4)*(Cos[p3] Cos[p2])
phi[param_List] /; Length[param]===4 :=phi @@ param

mal ganz zu schweigen.

Gruss
 Jens



Dirk Eling wrote:
Guten Tag allerseits,

ich versuche Funktionen zu definieren, die von n Parametern abhängen,
wobei n die Anzahl von Elementem einer Liste beschreibt. Wende ich die
Funktion auf einen allgemein definierten Array an, liefert Mathematica
das gewünschte Ergebnis. Wende ich die Funktion hingegen auf eine Liste
von Zahlen an, nicht (siehe angehängtes notebook). Kann mir vielleicht
jemand den richtigen Hinweis geben?

Vielen Dank schon mal.
gruss
dirk

 ------------------------------------------------------------------------
                  Name: parameter.nb
  parameter.nb    Type: application/mathematica
              Encoding: base64



Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html