2014-02-05 130 views
0

任何机构都可以帮我解释这段代码的第7行。这条线是什么Matlab中的矢量运算?

temp(min(temp,[],2) >=1 & max(temp,[],2)<=N,:) 

做的代码?这段代码的

7号线是扔我送行

N=10; 
H=-1; 
J=0; 
for i=1:N 
    for j=1:N 
     temp=[i-1,j;i+1,j;i,j-1;i,j+1]; 
     ngh{i,j}=temp(min(temp,[],2) >=1 & max(temp,[],2)<=N,:); 
    end 
end 
+1

随着你的缩进,它并不让我感到惊讶:-) –

回答

2

这行选择具有1N之间的所有值的temp行,然后将其赋值给子阵ngh{i,j}

注意

  • min(...,[],2)max(...,[],2)给出每行的最小值或最大值;
  • 1N的逻辑比较,并在logical index载体,其用于寻址的temp所需的行(和所有列)的&操作结果。
+0

@chappjc感谢您的更正! –