Ich möchte eine N-by-N-by-3-Matrix A
so, dass A(:,:,i) = eye(n)*i
. Wie kann ich dies tun, ohne for-Schleifen zu verwenden (d. H. Vektorisiert)?Wie kann ich diese 3-D-Matrix ohne for-Schleifen in MATLAB erzeugen?
3
A
Antwort
0
Wenn Sie eine ältere Version von MATLAB haben, bevor BSXFUN eingeführt wurde, sollten Sie diese Option (die gleiche Antwort wie die von @Jonas):
N = 4; M = 3;
A = repmat(eye(N),[1 1 M]) .* repmat(permute(1:M,[3 1 2]),[N N 1])
A(:,:,1) =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
A(:,:,2) =
2 0 0 0
0 2 0 0
0 0 2 0
0 0 0 2
A(:,:,3) =
3 0 0 0
0 3 0 0
0 0 3 0
0 0 0 3
1
1
Eine weitere Option ist BSXFUN zu verwenden, die Identitätsmatrix mit einem Array 1-für-1-by-3 Multiplizieren von 1,2,3
>> bsxfun(@times,eye(4),permute(1:3,[3,1,2]))
ans(:,:,1) =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
ans(:,:,2) =
2 0 0 0
0 2 0 0
0 0 2 0
0 0 0 2
ans(:,:,3) =
3 0 0 0
0 3 0 0
0 0 3 0
0 0 0 3
Verwandte Themen
- 1. Wie erzeugen Sie in MATLAB Doppeltonfrequenzen?
- 2. Kann ich diese MATLAB-Syntax nicht verstehen?
- 3. Wie kann ich dies effizient schreiben ohne Schleife in Matlab?
- 4. Erzeugen eines Gauß-Datensatzes in MATLAB
- 5. Wie kann ich diese
- 6. Wie kann ich dynamisches Javascript erzeugen?
- 7. Wie kann ich aus Matlab
- 8. Wie kann ich diese einfache Matlab-Plot-Funktionalität mit mathplotlib duplizieren?
- 9. Matlab: gegeben eine Präfix-String, wie eine Sequenz zu erzeugen
- 10. Wie kann ich ein Grundstück in Matlab ausprobieren?
- 11. Wie kann ich die Matlab-Sprache schreiben?
- 12. ohne imfill Funktion in MATLAB
- 13. Wie richtig diese Funktion schreiben (Matlab)
- 14. Erzeugen von Heatmap aus dem Leistungsspektrum, Matlab
- 15. Wie kann ich diese in Spalten ändern?
- 16. Matlab: Wie plotten ohne Farbstaffelung?
- 17. Wird diese Situation einen starken Referenzzyklus erzeugen?
- 18. Wie kann ich ein Bild in Ruby ohne externe Abhängigkeiten erzeugen?
- 19. Matlab: Wie implementieren Sie diese Summe?
- 20. Wie kann ich diese Abfrage allgemeiner machen?
- 21. Jquery, wie kann ich diese Selektorduplizierung vermeiden?
- 22. Wie kann ich diese wenn ich dump?
- 23. Warum kann ich diese C++ - Standardbibliotheksfunktion ohne std :: qualifier aufrufen?
- 24. Wie kann ich implementieren diese effiziente
- 25. Wie kann ich Zip-Datei erzeugen, ohne mit Ruby auf der Festplatte zu speichern?
- 26. Wie kann ich eindeutige Zufallszahlen in PHP erzeugen?
- 27. Wie kann ich eine Sequenz von Zahlen in Elixir erzeugen?
- 28. zufällige negative bis positive Gleitkommazahlen in Matlab erzeugen
- 29. Unterpläne erzeugen und später in MATLAB zu einer Figur zusammenfügen
- 30. Wie kann ich JavaDoc ohne Frames generieren?
bsxfun ist nicht in Matlab7.3.0 (r2006b), richtig? –
@Quiang Li: Sieht so aus, als ob es zuerst in r2007a erschien. – Jonas