matlab 繰り返しの添字に一行で変換する
はじめに
初投稿、matlabの小ネタです。
添字を変換する
matlabの添字は1から数えます。
そのため、以下のようにmodを取って添字の繰り返しに変換しようとすると…
当然ですが、5列目の値は0になります。
添字としてはここは5にしたいので、あとで0→5に変換します。
>> A = [1:5; 6:10]
A =
1 2 3 4 5
6 7 8 9 10
>> mod(A, 5)
ans =
1 2 3 4 0
1 2 3 4 0
>> ans(ans==0)=5
ans =
1 2 3 4 5
1 2 3 4 5
一行にしたい!
このためにわざわざ二行も使いたくない!と思い、以下のようにしました。
>> mod(A-1,5)+1
ans =
1 2 3 4 5
1 2 3 4 5
スッキリ!
以上、おしまーい。
Author And Source
この問題について(matlab 繰り返しの添字に一行で変換する), 我々は、より多くの情報をここで見つけました https://qiita.com/atorii/items/7cc0d76e97971e23264b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .