Я пытаюсь создать матрицу, которая представляет собой 3 x n, причем каждый из столбцов один и тот же. Каков самый простой способ его достижения? Конкатенация?MATLAB: заполнение матрицы каждым столбцом одинаково
ответ
После
n=7
x=[1;2;3]
это либо
repmat(x,[1 n])
или
x(:,ones(1,n))
Я бы сказал, что решение на основе индексов - это способ пойти (и, как правило, быстрее). – gnovice
Спасибо. repmat - ключевое слово, которое я искал, но забыл. – stanigator
(октав можно рассматривать как с открытым исходным кодом/бесплатной версии MATLAB)
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
использования repmat
, если число строк велико.
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
Использование умножения с матрицей из них 1 х 3
например, x * [1 1 1]
Edit:
В Октава:
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
Это дает '[x x x]'. – kennytm
Он работает в Octave - см. Edit – James
Я думаю, что @KennyTM может означать, что он дает '[x x x]' (где 'x' - это вектор столбца), когда OP хочет' [x; Икс; x] '(где' x' - это вектор строки, как в его ответе), но вопрос немного неоднозначен, поэтому мой ответ. – Ramashalanka
- 1. Выполнение операции над каждым столбцом
- 2. Преобразование матрицы с одним столбцом в матрицу n x c
- 3. Строение матрицы матрицы matlab
- 4. Проверка матрицы матрицы Matlab
- 5. Нужна нумерация над каждым столбцом сетки python
- 6. Итерация команды над каждым столбцом файл
- 7. SQL Строки заказов с каждым столбцом типа
- 8. Заполнение вертикальной матрицы Java
- 9. C++ заполнение матрицы повышение
- 10. Заполнение матрицы в java
- 11. Заполнение матрицы без дубликатов
- 12. C: Заполнение матрицы
- 13. Эффективное заполнение матрицы
- 14. заполнение матрицы использованием рекурсии
- 15. Заполнение массива столбцом из базы данных
- 16. Matlab, Как сравнить каждый элемент матрицы строк с каждым элементом другой матрицы строк?
- 17. Динамическое заполнение 3D-матрицы из 2D-матрицы
- 18. Оператор матрицы матрицы в Matlab
- 19. удалите строки матрицы в matlab
- 20. Заполнение ячейки матриц в MATLAB
- 21. Заполнение матрицы proc iml SAS
- 22. заполнение вектора или матрицы ускорения
- 23. Заполнение матрицы с помощью петель
- 24. Заполнение пробелов в строках матрицы
- 25. Заполнение разреженной матрицы в R
- 26. Заполнение пикселей со значениями другой матрицы
- 27. Разница между столбцом матрицы и использованием all_different
- 28. сортировка матрицы в MATLAB
- 29. Интерполяция внутри матрицы. Matlab
- 30. Перестройка матрицы в matlab
Это не ясно. Вы хотите [1 1 1; 2 2 2; 3 3 3], где столбцы идентичны или вы хотите [1 2 3; 1 2 3; 1 2 3], где каждый столбец является одним и тем же номером? – MatlabDoug
аналогичный Q: http://stackoverflow.com/questions/2209207/producing-2d-array-from-a-1d-array-in-matlab – Amro