Array matching

I have 2 arrays that i'd like to compare values and create a child that contains matching values (and I'd like to do this the fastest way possible).
Example:
A = [1;0;-1;0;0;0;1]
B = [0;1;-1;0;1;0;1]
child = [0;0;-1;0;0;0;1]
Your help is greatly appreciated! Thank you.

답변 (1개)

Geoff
Geoff 2012년 4월 26일

4 개 추천

child = A;
child(A ~= B) = 0;

댓글 수: 9

Richard Brown
Richard Brown 2012년 4월 26일
pah! pathetic! None of this two line nonsense!
child = A .* (A == B)
Jan
Jan 2012년 4월 26일
Even an incorrect answer would not be "nonsense".
I assume Geoff's solution is faster than Richard's, because it does not need the implicit conversion of the logical array "(A==B)" to a double and perform LENGTH(A) floating point multiplications.
James Tursa
James Tursa 2012년 4월 26일
child = A .* (A == B) will produce NaN values instead of the desired 0 if the A element is inf and the B element is not inf.
Geoff
Geoff 2012년 4월 29일
Erm, thanks Richard. I'm a computer scientist, not a mathematician.
Richard Brown
Richard Brown 2012년 4월 30일
I'm guessing from these responses that I should probably point out that I was joking ... :)
If I had thought my solution was better, I would have posted it as a separate answer
James Tursa
James Tursa 2012년 4월 30일
Maybe some regulars might have recognized this, but it is likely newbies would not. Hence my comment.
Richard Brown
Richard Brown 2012년 4월 30일
Fair point. The same might also be true of
non-native English speakers who may have
thought I was being genuinely critical of
dear Geoff :-)
Geoff
Geoff 2012년 5월 2일
Hey it even fooled me... I was under a bit of pressure and lost my sense of humour for a couple of days. =)
Jan
Jan 2012년 5월 2일
I frequently confuse humor and humerus. Therefore I thank you for your clarifications.
Is the OP still interested in the solution?

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

태그

질문:

2012년 4월 26일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by