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 Comments

What have you done so far? What specific problems are you having with your code?
What happens if the element is equal to forty?
"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.

Answers (1)

Walter Roberson
Walter Roberson on 26 Feb 2018
Edited: Walter Roberson on 26 Feb 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.)

This question is closed.

Asked:

on 26 Feb 2018

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!