match with ismember function

3 views (last 30 days)
Sourangsu Chowdhury
Sourangsu Chowdhury on 25 Feb 2018
Answered: Birdman on 25 Feb 2018
Suppose I have a matrix and a vector,
Mat= [1 343
3 655
4 565
7 676]
and a vector
v = [1 2 3 4 5 6 7];
I want output as
out [1 343
2 0
3 655
4 565
5 0
6 0
7 676]
I am trying to use
[~,idx] = ismember(v,(Mat(:,1)))
out = Mat(idx,:)
This doesnot work

Accepted Answer

Birdman
Birdman on 25 Feb 2018
idx=setdiff(v,Mat(:,1)).';
idx=[idx zeros(numel(idx),1)];
res=sortrows([Mat;idx])

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!