2014-02-05 174 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感謝您的更正! –