MATLAB Answers

How to check two unbalanced matrix?

2 views (last 30 days)
Arul prasath
Arul prasath on 25 Jan 2015
Commented: Star Strider on 25 Jan 2015
For example:
X=[1;2;3;4;5];
Y=[2];
if this matched than i should get Z as matched value like this
Z=[2];

  0 Comments

Sign in to comment.

Answers (2)

Star Strider
Star Strider on 25 Jan 2015
I don’t understand what you are doing or what ‘matched’ means.
It would seem that the intersect function might be what you want:
Z = intersect(X,Y)
that would produce:
Z =
2

  4 Comments

Show 1 older comment
Star Strider
Star Strider on 25 Jan 2015
I would use intersect, as I suggested in my original Answer. If ‘b’ is an element of ‘a’, then ‘Z’ will display it. If it is not, ‘Z’ will simply return an empty matrix.
Image Analyst
Image Analyst on 25 Jan 2015
It may not work with floating point numbers if the numbers were arrived at in different ways. See http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F
Star Strider
Star Strider on 25 Jan 2015
True.
In that event, it would be necessary to use the R2014b version of round on both, or equivalently:
roundn = @(x,n) fix(x.*10.^n)./10.^n;
wnere x is the number (or matrix) to be rounded, and n the number of digits to be rounded to.

Sign in to comment.


Shoaibur Rahman
Shoaibur Rahman on 25 Jan 2015
Another way may be:
X=[1;2;3;4;5];
Y=[2];
Z = X(X==Y)

  0 Comments

Sign in to comment.

Sign in to answer this question.

Tags