Ich versuche, eine Matrix zu erstellen, die 3 x n ist, wobei jede der Spalten identisch ist. Was ist der einfachste Weg, um es zu erreichen? Verkettung?MATLAB: Füllen einer Matrix mit jeder Spalte die gleiche
Antwort
Nach
n=7
x=[1;2;3]
es ist entweder
repmat(x,[1 n])
oder
x(:,ones(1,n))
Ich würde sagen, die indexbasierte Lösung ist der Weg zu gehen (und es ist in der Regel schneller). – gnovice
Danke. Repmat ist das Keyword, nach dem ich gesucht habe, aber vergessen. – stanigator
octave-3.0.3:2> rowvec = [1:10]
rowvec =
1 2 3 4 5 6 7 8 9 10
octave-3.0.3:3> [rowvec; rowvec; rowvec]
ans =
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
Verwenden repmat
, wenn die Anzahl der Zeilen (Octave kann als Open-Source/freie Version von MATLAB in Betracht gezogen wird) ist groß.
octave-3.0.3:7> repmat(rowvec, 10, 1)
ans =
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
Verwenden Multiplikation mit einem 1 x 3-Matrix von Einsen
zB x * [1 1 1]
Edit:
In Octave:
octave-3.0.3.exe:1> x = [1;2;3;4]
x =
1
2
3
4
octave-3.0.3.exe:5> x * [1 1 1]
ans =
1 1 1
2 2 2
3 3 3
4 4 4
Dies ergibt '[x x x]'. – kennytm
Es funktioniert in Octave - siehe die Bearbeitung – James
Ich denke @KennyTM könnte bedeuten, dass es gibt [x x x] '(wo x ist ein Spaltenvektor), wenn das OP will' [X; x; x] '(wo' x' ein Zeilenvektor ist, wie in seiner Antwort), aber die Frage ist ein wenig mehrdeutig, daher meine Antwort. – Ramashalanka
- 1. Füllen Sie die Grenzen einer Matrix mit Bicubic-Interpolation
- 2. Unique Vektor aus einem Element aus jeder Spalte einer Matrix in Matlab
- 3. Finden Sie die Wahrscheinlichkeit jeder Spalte in Matrix
- 4. float: left füllen die gleiche Spalte wo möglich
- 5. Sorting gesamte Matrix gemäß einer Spalte in Matlab
- 6. Entfernen Sie Nullen Spalte und Zeilen aus einer Matrix Matlab
- 7. facet_wrap füllen durch Spalte
- 8. Matrix auf die Macht einer Spalte einer dichten Matrix mit numpy in Python
- 9. Multiplizieren Sie jede Spalte einer Matrix mit einer anderen Matrix
- 10. Lösen einer Matrix in MATLAB?
- 11. Einfügen einer Matrix in eine andere Matrix mit Matlab
- 12. R eine Matrix in einer Schleife füllen
- 13. MATLAB: Interpolation, die eine Matrix
- 14. Plot aus einer Matrix in Matlab
- 15. Code zum Vergleichen jeder Zelle in einer Spalte mit jeder Zelle in einer anderen Spalte
- 16. MATLAB: Erstellen einer Matrix mit allen möglichen Gruppenkombinationen
- 17. Wie füllt man eine Matrix mit einer Gleichung in MATLAB?
- 18. zufällig 2d Matrix mit Bedingungen füllen
- 19. Matlab: Daten in einer Matrix speichern
- 20. Wie wird jede Zeile mit jeder Zeile einer anderen Matrix elementweise in Matlab multipliziert?
- 21. Bootstrap - Resthöhe einer Spalte füllen
- 22. Füllen eines Boost-Vektors oder einer Matrix
- 23. Wie man den Mittelwert des letzten z. 100 von Null verschiedene Zahlen in jeder Spalte einer Matrix in Matlab
- 24. Füllen Combobox aus einer Spalte in jtable
- 25. Eine Matrix parallel füllen
- 26. Drehen einer 3D-Matrix in MATLAB
- 27. Füllen Matrix aus Liste
- 28. Matlab Zero Padding am Ende einer Matrix
- 29. Plot Zeilen einer 2d-Matrix in Matlab
- 30. Kompakte MATLAB-Matrix-Indexierungsnotation
Es ist nicht klar. Willst du [1 1 1; 2 2 2; 3 3 3] wo die Spalten identisch sind oder wollen [1 2 3; 1 2 3; 1 2 3] wo jede Spalte die gleiche Nummer hat? – MatlabDoug
ähnlich Q: http://stackoverflow.com/questions/2209207/producing-2d-array-from-a-1d-array-in-matlab – Amro