This question is closed. Reopen it to edit or answer.

index in matrix using loop

1 view (last 30 days)
mohamed gamal
mohamed gamal on 28 Apr 2019
Closed: MATLAB Answer Bot on 20 Aug 2021
hi i have an matrix in my code that i want to do some calculation on each index in it so first of all i want to check if that index is greater then 0 then i multiply by area then store it in new varible calld fill
if not i multiple this index with area then store it in variable calld fill
how can i do it
mohamed gamal
mohamed gamal on 30 Apr 2019
0.500000000000000 0.500000000000000
0.250000000000000 0.500000000000000
-0.500000000000000 -0.500000000000000
like this one and i want to do if the number in the index is + then multiple *AREA+fill
if its - then cut= the numer in matrix*Area +cut

Answers (1)

Kevin Phung
Kevin Phung on 30 Apr 2019
m = [0.5 0.5; 0.25 0.5; -0.5 -0.5] % your sample matrix
f = m(m>0) * A + fill
c = m(m<0) *A + cut
^ this only return the values that meet the positive/neg criteria. If you want to keep the same dimensions then do this:
new_m = m; %copy
new_m(m>0) = m(m>0) * A + fill; %operate on positives
new_m(m<0) = m(m<0) * A - cut;

Community Treasure Hunt

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

Start Hunting!