Change values in vectors

4 views (last 30 days)
Io7
Io7 on 21 Jan 2023
Commented: Vilém Frynta on 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.

Answers (2)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 21 Jan 2023
Edited: Sulaymon Eshkabilov on 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 on 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 Comment
Vilém Frynta
Vilém Frynta on 21 Jan 2023
Well, nevermind, someone did it for you ÷)

Sign in to comment.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Tags

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!