我试图解决一个问题:我需要在mathematica中翻译一个八度音码,但我正在努力解决这些问题。
function g = NeumannBoundCond(f)
[nrow,ncol] = size(f);
g = f;
g([1 nrow],[1 ncol]) = g([3 nrow-2],[3 ncol-2]);
g([1 nrow],2:end-1) = g([3 nrow-2],2:end-1);
g(2:end-1,[1 ncol]) = g(2:end-1,[3 ncol-2]);
其中f定义如下:
c0=2;
initialLSF = c0*ones(size(Img));
initialLSF(25:35,20:25)=-c0;
initialLSF(25:35,40:50)=-c0;
f=initialLSF;
Mathematica的等价物是什么? 提前谢谢。
P.S。 什么是
的相应功能[Ix,Iy] = gradient[Img];
答案 0 :(得分:0)
根据这里的帖子:Matlab Central,这应该适用于第一部分: -
NeumannBoundCond[f_] := Module[{g},
g = f;
g[[{1, -1}]] = g[[{3, -3}]];
g[[All, {1, -1}]] = g[[All, {3, -3}]];
g];
MatrixForm[m = Partition[Range[56], 7]]
MatrixForm@NeumannBoundCond[m]