DMUG-Archiv 2006

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

Re: kleine Frage zu Map[]

ich hatte mich ungenau ausgedrückt: Definitions- und Bildbereich der Funktion f haben die gleiche Dimension. Dann ist Ihr Vorschlag mat [[All,n]]=f[mat[[All,n]]]; die eleganteste Variante.

herzlichen Dank!

Martin Heimann


On Jan 16, 2006, at 10:57, Harald von Aschen wrote:

At 23:37 15.01.06 +0100, Martin Heimann wrote:

Hallo!

ich möchte eine Funktion f[z_List] welche als Argument eine 1-d Liste nimmt auf die n-te Spalte einer Matrix M anwenden, die anderen Spalten jedoch unverändert lassen. Ich kann natürlich die n-te Spalte extrahieren, die Funktion darauf anwenden und dann die Matrix wieder zusammensetzen. Aber geht dies nicht irgendwie mit Map eleganter?

Transformieren Sie die Matrix, so dass die Spalten zu Zeilen werden, und arbeiten Sie mit MapAt, Beispiel:

(mat = Array[x, {4, 8}])//MatrixForm
(* MapAt[f,Transpose[mat],n], z.B. n = 3. Spalte *)
MapAt[f,Transpose[mat],3]

Was Sie allerdings meinen mit Zusammensetzen, das verstehe ich nicht. Um wieder eine Matrix zu erhalten, muss f:D^d -> R^d (D= Definitionsbereich und R = Bildbereich) sein, sonst erhalten Sie in der n-ten Zeile die Anzahl der Werte, die f "ausspuckt".

Hat Definitionsbereich und Bildbereich von f die gleiche Dimension, geht auch
mat[[All,n]]=f[mat[[All,n]]];
sonst wird halt in jede Zeilenposition der Spalte n der gleiche Wert von f dieser Spalte gesetzt.

Mit freundlichen Gruessen
Harald v. Aschen



--------
Max-Planck-Institute for Biogeochemistry, PF 100164, D-07701 Jena, Germany
Street Address:  Beutenberg Campus, Hans-Knoell-Straße 10, D-07745 Jena
Office:     +49-3641-57-6350/6301
SIP (VoIP):   1-747-617-6659
Mobile - (NEW):     +49-172-360 6519
Home:     +49-3641-618247
Fax.:     +49-3641-57-7300
Email:     martin.heimann@XXXXXXX.de
Web:     http://www.bgc-jena.mpg.de/~martin.heimann


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

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