-2

私はこのような私のコードを持っています:

a=logical ([1]);

  b=logical (      [ 1     1     0
                     1     1     1
                     0     1     1]);

  c=logical (      [ 1     0     0     0
                     0     1     1     0
                     0     1     1     1
                     0     0     1     1]);

  d=logical (      [ 1     1     1
                     1     1     1
                     1     1     1]);
  E={   a
        b
        c
        d};

   for i= 1:numel(E)
    for j=1:numel(E{i}(:,1))
     a=numel(find(E{i}(j,:)))<2
      end
   end

Eの各行の数字「1」が2よりも小さい場合、Forループを使用してチェックアウトします。私の問題は次のとおりです。forループを使用すると、最後の結果として常に結果「a」を受け取りますループ。このような:

a =

         1


    a =

         0


    a =

         0


    a =

         0


    a =

         1


    a =

         0


    a =

         0


    a =

         0


    a =

         0


    a =

         0


    a =

         0

しかし、すべてのループ (ここでは 11 行は 11 ループを意味します) の "a" の値をベクトルに保存したいと考えています。このような:

a = [1
       0
       0
       0
       1
       0
       0
       0
       0
       0
       0]

または明らかに、これらの手順を E に実行したい:

1. E のセルに要素 (1 x 1) が 1 つしか含まれていない場合 (ここでは E(1) )、何もしない

2.そうでなければ、Eの各セルの各行の数字「1」の数が2より小さいかどうかを確認します

最終的に次のような結果が得られるようにします。

 a = [   0
         0
         0
         0
         1
         0
         0
         0
         0
         0
         0]

事前にご協力いただきありがとうございます。

4

2 に答える 2