Wenn angenommen, ein 3x3x3-Array, wie ersetzt man das gesamte dim3, wenn eine Bedingung erfüllt ist? Whith gegebenen ArrayErsetzen Sie dim3 in Matlab-Array
A = [1 2 3; 4 1 6; 7 8 1];
A(:, :, 2) = [1 2 3; 4 2 6; 7 8 2]
A(:, :, 3) = [1 2 3; 4 3 6; 7 8 3]
In diesem einfachen Fall gibt es zwei dim3s [1 2 3]
enthält, auf A(2,2,:)
und A(3,3,:)
. Wie könnte ich sie zum Beispiel durch [10 10 10]
ersetzen. Dies scheint sehr einfach, aber ich kann einfach nicht meinen Kopf drumherum ...
Edit: Ich azidently übersimplified die Probelem, der Ersatz Vektor sollte eher etwas wie [11 12 13]
finden der (X, Y) -Index ist nicht das eigentliche Problem.
I für eine saubere und speichereffiziente Weise suchen zu ersetzen A(2,2,:)
und A(3,3,:)
mit [11 12 13] Erhalt des Ausgang: A (:,:, 1) =
1 2 3
4 11 6
7 8 11
A(:,:,2) =
1 2 3
4 12 6
7 8 12
A(:,:,3) =
1 2 3
4 13 6
7 8 13
Curcial in diesem Fall , ist, dass ich nicht weiß, wie viele ements in der realen Welt Problem ersetzt werden müssen ...
Der Ersatz ist nur 'A (2,2 ,:) = 10; 'oder' A (3,3, :) = 10; 'Fragen Sie auch, wie Sie herausfinden können, ob diese Bedingung existiert? –
Ich verstehe nicht, was Sie wollen. Was sind die Eingaben und die gewünschte Ausgabe (in Ihrem Beispiel)? –