ある条件での配列の作成

11 Ansichten (letzte 30 Tage)
雅晶
雅晶 am 6 Dez. 2022
Kommentiert: 雅晶 am 6 Dez. 2022
上の図中の「x」を「new_x」のようにしたいです。
図中の「y」の配列における隣同士の要素の差の絶対値分「x」の要素を増やしたいです。
例えば上記だと、abs(y(1,1) - y(1,2))が3であるので、「x」の配列の最初の要素である214を「new_x」のように3つ連続にするということをしたいです。
どのようにスクリプトを書けばよろしいでしょうか。教えていただきたいです。

Akzeptierte Antwort

Hernia Baby
Hernia Baby am 6 Dez. 2022
まずはデータを用意します。
y = [168,165,161,159];
x = [214,215,216];
絶対差分であるので abs(y(2) - y(1)) = abs(y(1) - y(2))になります。
なのでfliplrはつかいません。
dy = abs(diff(y))
dy = 1×3
3 4 2
繰り返しはrepelemを使います。
new_x = repelem(x,dy)
new_x = 1×9
214 214 214 215 215 215 215 216 216
  1 Kommentar
雅晶
雅晶 am 6 Dez. 2022
解決しました。ありがとうございました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu ループと条件付きステートメント finden Sie in Help Center und File Exchange

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!