How to do a simple elementwise logic in a matrix?

9 visualizzazioni (ultimi 30 giorni)
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 Commenti
the cyclist
the cyclist il 19 Dic 2013
Sounds like homework. What have you tried?
MJ
MJ il 19 Dic 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...

Accedi per commentare.

Risposta accettata

the cyclist
the cyclist il 19 Dic 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.)

Più risposte (0)

Categorie

Scopri di più su Simulink in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by