How to check two unbalanced matrix?
Show older comments
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];
Answers (2)
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
Matlab111
on 25 Jan 2015
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
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
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.
Shoaibur Rahman
on 25 Jan 2015
Another way may be:
X=[1;2;3;4;5];
Y=[2];
Z = X(X==Y)
Categories
Find more on Creating and Concatenating Matrices 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!