Change values in vectors

1 Ansicht (letzte 30 Tage)
Io7
Io7 am 21 Jan. 2023
Kommentiert: Vilém Frynta am 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.

Antworten (2)

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by