Change values in vectors

5 vues (au cours des 30 derniers jours)
Io7
Io7 le 21 Jan 2023
Commenté : Vilém Frynta le 21 Jan 2023
I have a vector like: V=[1,2,3,4,5,6] and I want to substitute any values above 3 with the previous value in the vector which is “2”. So I want to have V=[1,2,2,2,2,2]. How to do this? Thank you.

Réponses (2)

Sulaymon Eshkabilov
Sulaymon Eshkabilov le 21 Jan 2023
Modifié(e) : Sulaymon Eshkabilov le 21 Jan 2023
V=[1,2,3,4,5,6]
V = 1×6
1 2 3 4 5 6
IDX = find(V>3);
V(IDX)=2
V = 1×6
1 2 3 2 2 2
%% ALT. Way:
V=[1,2,3,4,5,6]
V = 1×6
1 2 3 4 5 6
V(V>3)=2
V = 1×6
1 2 3 2 2 2

Vilém Frynta
Vilém Frynta le 21 Jan 2023
If you want to apply it to this vector, it's not complicated. But if you wanted to apply it to a more complex vector where the numbers don't go in ascending order, it woudle be bit more complicated.
I almost did it for you, but then I realized this sounds like a homework.
Please try, then we may help you. Try using find and indexing.
  1 commentaire
Vilém Frynta
Vilém Frynta le 21 Jan 2023
Well, nevermind, someone did it for you ÷)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Tags

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by