MATLAB Answers


How to compare two vector with different dimension

Asked by Boni_Pl
on 29 Aug 2019
Latest activity Answered by 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
are the coordinates of just the non-zero values. Then how to get the coordinates of zero values? Please help.


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.
Boni_PI, I edited your question just a bit, using the CODE button to format your vectors.
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.

1 Answer

Answer by 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')


Sign in to comment.