在Mathematica中转换八度矩阵函数

时间:2014-04-10 16:01:22

标签: image-processing wolfram-mathematica octave

我试图解决一个问题:我需要在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];

1 个答案:

答案 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]]

enter image description here

MatrixForm@NeumannBoundCond[m]

enter image description here