Boundary replacement of values in arrays

1 visualizzazione (ultimi 30 giorni)
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!

Risposta accettata

Massimo Zanetti
Massimo Zanetti il 7 Ott 2016
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]

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by