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 Kommentare

James Tursa
James Tursa am 26 Feb. 2018
What have you done so far? What specific problems are you having with your code?
David Fletcher
David Fletcher am 26 Feb. 2018
What happens if the element is equal to forty?
Walter Roberson
Walter Roberson am 26 Feb. 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.

Antworten (1)

Walter Roberson
Walter Roberson am 26 Feb. 2018
Bearbeitet: Walter Roberson am 26 Feb. 2018

0 Stimmen

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.)

Diese Frage ist geschlossen.

Gefragt:

am 26 Feb. 2018

Geschlossen:

am 20 Aug. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by