Boundary replacement of values in arrays

조회 수: 5 (최근 30일)
Vadim Tambovtsev
Vadim Tambovtsev 2016년 10월 7일
답변: Massimo Zanetti 2016년 10월 7일
Hello. Suppose we have three arrays (columns of m x 1 size). Arrays A,B,C. How to set up the replacement script of such a condition? - if a(i)+b(i)>c(i), replace b(i) so that a(i)+b(i)=c(i), if a(i)+b(i)<=c(i), then okey
Thank you!

채택된 답변

Massimo Zanetti
Massimo Zanetti 2016년 10월 7일
There is no need to loop. Use logical indexing:
a=randi(5,10,1);
b=randi(5,10,1);
c=randi(5,10,1);
[a,b,c]
i = (a+b>c);
b(i) = c(i)-a(i);
[a,b,c]

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by