在Matlab中进行矢量运算?

时间:2014-02-05 22:55:40

标签: matlab

任何正文都可以帮我解释一下这段代码的第7行。这行是什么

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 个答案:

答案 0 :(得分:3)

该行选择的temp行的所有值都在1N之间,并将该子矩阵指定为ngh{i,j}

请注意

  • min(...,[],2)max(...,[],2)给出每行的最小值或最大值;
  • 1N&操作的逻辑比较结果为logical index向量,用于处理所需的temp行(和所有专栏)。