MATLAB Answers

How to compare two vector with different dimension

5 views (last 30 days)
Boni_Pl
Boni_Pl on 29 Aug 2019
Answered: Jos (10584) on 29 Aug 2019
Hello, I have two vectors
x1 = [1;2;4;7;8];
y1 = [2;5;8;6;1];
which are coordinates of all zero and non zero values of a matrix. And then
x2=[2;8;7]
y2=[6;1;2]
are the coordinates of just the non-zero values. Then how to get the coordinates of zero values? Please help.

  5 Comments

Show 2 older comments
Boni_Pl
Boni_Pl on 29 Aug 2019
Geoff Hayes yes your concept is correct. But How to write the code to separate zero and non zero coordinates from x1 & y1 if the dimension is 50x1. and x2 & y2 vector's dimension is 29x1.
the cyclist
the cyclist on 29 Aug 2019
Boni_PI, I edited your question just a bit, using the CODE button to format your vectors.
Adam
Adam on 29 Aug 2019
What are the other options than 'zero or non-zero' in your matrix?! surely that set should cover every element of the matrix?

Sign in to comment.

Answers (1)

Jos (10584)
Jos (10584) on 29 Aug 2019
I assume the elements of x and y are linked? Why is the first element of (x2,y2) than not in the list of coordinaties (x1,y1)? I assume this is a mistake.
If I were you, I would link the coordinates explicitly, as rows of a N-by-2 array, allowing to use SETDIFF:
xy_all = [x1(:) y1(:)]
xy_nonzero = [x2(:) y2(:)]
xy_zero = setdiff(xy_nonzero, xy_all, 'rows')

  0 Comments

Sign in to comment.

Sign in to answer this question.