Element wise if then in vector
이전 댓글 표시
Hi,
I have searched for this but found no answer. I have two arrays M1 and M2 , each with million+ elements.
I want to implement this logic and create a new vector S from each element of M1 and M2
S (i) = 0 if abs(M1(i)-M2(i))< Theta S(i) = sign(M1(i)-M2(i)) otherwise
For loops take forever on this. Any solution that makes it more vector operations would be great.
Vamsi
답변 (1개)
Vamsi
2013년 11월 26일
0 개 추천
댓글 수: 2
Simon
2013년 11월 26일
That's it!
Andrei Bobrov
2013년 11월 26일
T = M1 - M2;
S = zeros(numel(M1),1);
l = abs(T) >= Theta;
S(l) = sign(T(l));
카테고리
도움말 센터 및 File Exchange에서 Code Performance에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!