MATLAB: Заполнение матрицы с каждым столбцом, являющимся тем же

Я пытаюсь создать матрицу, которая составляет 3 x n с каждым из столбцов, являющихся тем же. Каков самый легкий способ достигнуть его? Конкатенация?

6
задан MatlabDoug 11 March 2010 в 15:07
поделиться

3 ответа

После

n=7
x=[1;2;3]

это либо

repmat(x,[1 n])

, либо

x(:,ones(1,n))
9
ответ дан 8 December 2019 в 17:20
поделиться

Используйте умножение с матрицей единиц 1 x 3

например, x * [1 1 1]

Редактировать:

В октаве:

    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
2
ответ дан 8 December 2019 в 17:20
поделиться

(Octave можно рассматривать как бесплатную версию 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
3
ответ дан 8 December 2019 в 17:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: