How can I do this matix?

I have a matrix
a=[12 36 15 26 42 16 8 20]
I want to build a code that will read the matrix's elements and then see if the element < 40 it will take the element and divide by 2 if the element >40 it will stop and do not go through the rest elements
so in the example of a
It will takes the 12 and divide by 2 also 36, 15 and 26. When it reach 42 will divide it by 2 and stop there.
the element values might change

3 commentaires

James Tursa
James Tursa le 26 Fév 2018
What have you done so far? What specific problems are you having with your code?
David Fletcher
David Fletcher le 26 Fév 2018
What happens if the element is equal to forty?
Walter Roberson
Walter Roberson le 26 Fév 2018
"What happens if the element is equal to forty?"
It leaves it unchanged and continues. Just like the implication that any element from the first that is greater than 40 to the end are not to be changed.

Réponses (1)

Walter Roberson
Walter Roberson le 26 Fév 2018
Modifié(e) : Walter Roberson le 26 Fév 2018

0 votes

Use for and if and break
There is also a vectorized way to do it using find() and logical indexing. (Actually, you can do it without find() if you get your logical indexing right.)

Cette question est clôturée.

Question posée :

le 26 Fév 2018

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by