modify v1 so that any value less than 4 is replaced with the value 0. Please help me making code.

 Risposta accettata

v1 = randi([1 6],1,10) % Example data
v1 = 1x10
4 6 5 2 4 1 1 2 1 1
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
% Replace any value less than 4 with 0
v1(v1 < 4) = 0
v1 = 1x10
4 6 5 0 4 0 0 0 0 0
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
We use "vector indexing" to achieve this.
When you apply a "condition" on an array, the result will be a logical array where, the corresponding indices in the result will be a 1 or a 0. You can use the result array to apply it back on v1 and modify the values where the "logic" holds true. You can use this to compare an array to a value, or even two equal sized arrays and their corresponding index values! You can find more on this using the following link:

2 Commenti

Importantly, all of this would be covered in the free Self Paced Online Course, MATLAB Onramp. It takes only about two hours, a fair tradeoff to asking a question here and getting the answer an hour later.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by