2016-11-14 9 views
0

私はサイズ(nrows x cols x ndivs)の3次元配列(画像)を持っています。 0.01の間隔で3次元を描き、勾配の集合を得る(nrows x ncols)。matlabの3-D配列の1次元数値勾配

私はすべてのピクセルを超えるループすることにより、これを行う方法を考えている

grad_F = zeros(nrows,ncols,ndivs); 

for irow = 1:nrows 
    for icol = 1:ncols 
     grad_F(irow,icol,:) = gradient(F(irow,icol,:),0.01); 
    end 
end 

私はすべてのピクセルを超えるループすることなく、上記を行うには、勾配の配列の操作があるかどうかお尋ねしたいの?そして、そういう道があるなら、それはより速いのですか、それとも同じ時間がかかりますか?

答えて

2

私が正しくあなたを理解していれば、これはうまくいくはずです。

[~,~,FZ] = gradient(F,0.01) 

FZは3次元のグラデーションです。

+0

ああ、ありがとう!私はそれが他の操作を参照していたと思ったとき、私はそれをMATLABのドキュメントで見た。 –

関連する問題