2016-08-11 7 views
3

Juliaでは、「任意のディメンションをループするように選択する」良い方法がありますかd?例えば、私はフィルタリングする任意のディメンションを選択しますか?

for j = 1:size(x,2) 
    for i = 2:size(x,1)-1 
    x2[i,j] = x[i-1,j] - 2x[i,j] + x[i+1,j] 
    end 
end 

をしたいしかし、私はxは任意の寸法のアレイとdことができる機能diffFilter(x2,x,d)を書きたい2D xに拡散フィルタを適用する以下ndims(x)より任意の寸法であり、このx[i-1] + 2x[i] - x[i+1]フィルタを次元d(割り当てなしでx2に)に沿って適用します。どのように私はそのdループの特別な部分を持っていることを使用できるようなインデックス作成を行う任意のアイデアd番目のインデックスですか?あなたはティム聖が対象に書かれたブログ記事のペアを見てみたいと思うでしょう

答えて

1

標準ライブラリ関数mapslicesがこれを行います。ベクトルにフィルタを適用する関数を書くことができ、mapslicesはそれを特定の次元に適用します。

関連する問題