如何运行两个变量的相同值的代码

时间:2014-03-10 08:57:17

标签: matlab

我写了以下代码 -

  for t=0:4
    for i=5
        B=[1,1,1,1,1;1,1,1,2,0;1,1,3,0,0;1,2,2,0,0;1,4,0,0,0;2,3,0,0,0;5,0,0,0,0];
        A=B;
        B(B==0)=inf;
        idx = (A(:,i-t)==1 );
        A = A(idx,:);
    end
end

现在问题是我可以运行t=0:i-1的代码,但我想运行此代码for t=0:i 当我尝试使用i and t的相同值时,它会显示错误。这是因为i-t=0所以它 表示索引是0,但在matlab索引中永远不会是0

在我的情况下,当i-t=0时,它将占用A的所有值,但我无法为此条件编写代码。

Matlab专家我需要您的帮助和建议重新编写此代码。

1 个答案:

答案 0 :(得分:0)

使用if条件特别处理该案例......

if i == t
  idx = (A == 1);
  A = A(idx);
else
  idx = (A(:,i-t)==1 );
  A = A(idx, :);
end