Info

此问题已关闭。 请重新打开它进行编辑或回答。

Create a vector for each element in another vector to constitute a matrix

1 次查看(过去 30 天)
Consider the following vector
v=[1:5]'
I want to create for each element of v another v, such that we have the following matrix
[1 1; 1 2; 1 3; 1 4; 1 5; 2 1; 2 2; ect]
Is there a shortcut or a code trick?
I tried this and it works but I wonder if there is a better way of doing it
v=[1:5]';
v1=repmat(v,length(v),1);
v2=repmat(v',length(v),1);
M=[v1(:) v2(:)];
M is what I want.

回答(1 个)

madhan ravi
madhan ravi 2020-6-30
编辑:madhan ravi 2020-6-30
[repelem(v, numel(v)), repmat(v, numel(v), 1)]
%or
[V1, V2] = meshgrid(v,v)
[V1(:), V2(:)]

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by