How to do a simple elementwise logic in a matrix?

1 view (last 30 days)
Let's say I have A=[1 0.5 2; 0.5 1 1; 3 1 0.5];
I need to create a new matrix (with the same size as A) in which elements of A that are less than one are multiplied by 10 and those elements larger than one are multiplied by 100. I know how to do it with a 'for', but any better idea?
Thanks,
  2 Comments
the cyclist
the cyclist on 19 Dec 2013
Sounds like homework. What have you tried?
MJ
MJ on 19 Dec 2013
lol, it's not actually! I'm using this:
z1=(A<=1).*(A.*10)
z2=(A>1).*(A.*200)
then I don't know how to merge z1 and z2 together! I guess there should be a simpler way...

Sign in to comment.

Accepted Answer

the cyclist
the cyclist on 19 Dec 2013
You're so close!
(A<=1).*(A.*10) + (A>1).*(A.*100)
(You wrote 100 in your question, but used 200 in your code.)

More Answers (0)

Categories

Find more on Entering Commands in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!