Change values in vectors

13 ビュー (過去 30 日間)
Io7
Io7 2023 年 1 月 21 日
コメント済み: Vilém Frynta 2023 年 1 月 21 日
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.

回答 (2 件)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023 年 1 月 21 日
編集済み: Sulaymon Eshkabilov 2023 年 1 月 21 日
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 2023 年 1 月 21 日
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 件のコメント
Vilém Frynta
Vilém Frynta 2023 年 1 月 21 日
Well, nevermind, someone did it for you ÷)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

タグ

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by