次の操作を実行できる matlab 関数はありますか?
x = [1 2 2 3];
そしてそれに基づいてx
、マトリックスを構築したいm = [1 2 2 3; 1 2 2 3; 1 2 2 3; 1 2 2 3]
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))
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