8

次の操作を実行できる matlab 関数はありますか?

x = [1 2 2 3];

そしてそれに基づいてx、マトリックスを構築したいm = [1 2 2 3; 1 2 2 3; 1 2 2 3; 1 2 2 3]

4

2 に答える 2

12

REPMAT関数を探しています。

x = [1 2 2 3];
m = repmat(x,4,1);

インデックスを使用して行を繰り返すこともできます。

m = x(ones(4,1),:);

または外積:

m = ones(4,1)*x;

またBSXFUNを使用:

m = bsxfun(@times, x, ones(4,1))
于 2011-07-31T12:10:42.000 に答える
0

vertcat次のようにを使用してみてください。

x = [1 2 2 3];
m = vertcat(x,x,x,x);

または単に:

x = [1 2 2 3];
m = [x;x;x;x];

編集:

x の倍数の場合、次のことができます。

x = [1 2 2 3];
m = [x;2*x;3*x];  %  [1 2 2 3; 2 4 4 6; 3 6 6 9]

EDIT2:

m の任意の数の x について...

n = 3; % number of repetitions...
x = [1 2 2 3];
m = [];
for i=1:n
    m = [m;x];
end
于 2011-07-31T12:12:28.953 に答える