How to check two unbalanced matrix?
显示 更早的评论
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];
回答(2 个)
Star Strider
2015-1-25
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 个评论
Matlab111
2015-1-25
Star Strider
2015-1-25
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
2015-1-25
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
2015-1-25
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
2015-1-25
Another way may be:
X=[1;2;3;4;5];
Y=[2];
Z = X(X==Y)
类别
在 帮助中心 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!