ある条件での配列の作成

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

采纳的回答

Hernia Baby
Hernia Baby 2022-12-6
まずはデータを用意します。
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 个评论
雅晶
雅晶 2022-12-6
解決しました。ありがとうございました。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 ループと条件付きステートメント 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!