[PDL] Wie aendere ich einen Wert in einer Matrix?

19/07/2010 - 16:10 von Dirk Krause | Report spam
Hallo,
ich mache gerade meine ersten Gehversuche mit Perl PDL.
Ich habe bisher vergeblich versucht, auf einzelne Werte eines piddles
zuzugreifen. Im Beispiel

-
use PDL;

my $matrix = pdl [
[ 2, -1, -1, 2 ],
[ 6, -2, 3, -5 ],
[ -4, 2, 3, -2 ],
[ 2, 0, 4, -3 ]
];

$matrix[1, 3] = -1;

print $matrix . "";


versuche ich, den letzten Wert in der zweiten Zeile der Matrix zu
aendern.
Allerdings hat die Anweisung $matrix[1, 3] = -1 keinerlei
Auswirkungen.
Die Versuche

$matrix->index(1, 3) = -1;
$matrix(1, 3) = -1;

fuehren zu Fehlermeldungen.
Meine Frage daher: Wie ist die Syntax, um einzelne Matrix-Elemente
auszulesen und zu veraendern?

Vielen Dank schon mal.

Dirk
 

Lesen sie die antworten

#1 Wolf Behrenhoff
19/07/2010 - 16:39 | Warnen spam
On 19.07.2010 16:10, Dirk Krause wrote:
Hallo,
ich mache gerade meine ersten Gehversuche mit Perl PDL.
Ich habe bisher vergeblich versucht, auf einzelne Werte eines piddles
zuzugreifen. Im Beispiel

$matrix[1, 3] = -1;

versuche ich, den letzten Wert in der zweiten Zeile der Matrix zu
aendern.
Meine Frage daher: Wie ist die Syntax, um einzelne Matrix-Elemente
auszulesen und zu veraendern?



Ich habe PDL ywar noch nie benutzt, aber ein schneller Blick auf die
Doku sagt, dass die Funktionen set zum Setzen und at zum Lesen heißen.

set($matrix, 1,3, -1);

sollte demnach gehen. Ungetestet.

Wolf

Ähnliche fragen