Info

此问题已关闭。 请重新打开它进行编辑或回答。

index in matrix using loop

1 次查看(过去 30 天)
mohamed gamal
mohamed gamal 2019-4-28
关闭: MATLAB Answer Bot 2021-8-20
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
  3 个评论
dpb
dpb 2019-4-28
I'd guess it mandatory to give an example or at least clarify because as written the result is the same for either case...
mohamed gamal
mohamed gamal 2019-4-30
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

回答(1 个)

Kevin Phung
Kevin Phung 2019-4-30
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!

Translated by