2017-02-15 4 views
2

Logical circuitMATLABプログラム

私はこの論理回路上のすべての出力を計算しなければならなかった、と私は、電子の経験を持っていけません。

私はシンボルの意味を調べて、私はMatlabでプログラムをビルドしました。

もし私が間違っていたり、より良いやり方を指していたら、誰かが見て助けてくれますか?

は、ここに私のMatlabのコードです:

for A = 0 : 1 
    for B = 0 : 1 
    for C = 0 : 1 
     for D = 0 : 1 
      if A ~= B 
       E = 1; 
      else 
       E = 0; 
      end 

      if B == 0 
       F = 1; 
      else 
       F = 0; 
      end 

      if C == 0 
       G = 1; 
      else 
       G = 0; 
      end 

      if E == 1 && F == 1 && C == 1 
       H = 1; 
      else 
       H = 0; 
      end 

      if G == 1 || D == 1 
       I = 0; 
      else 
       I = 1; 
      end 

      if H == 1 && I == 1 
       Y = 0; 
      else 
       Y = 1; 
      end 

      disp(['Se A=' num2str(A) ', B=' num2str(B) ', C=' num2str(C) ' e D=' num2str(D) ' => Y=' num2str(Y)]); 
     end 
    end 
    end 
end 

答えて

2

あなたのコードが正しい結果を生成しますが、ブール代数ためMATLAB's built-in functionsを使用することができます。

for A = 0 : 1 
    for B = 0 : 1 
    for C = 0 : 1 
     for D = 0 : 1 
     Y = ~((xor(A,B) & ~B & C) & ~(~C | D)); 
     disp(['Se A=' num2str(A) ', B=' num2str(B) ', C=' num2str(C) ' e D=' num2str(D) ' => Y=' num2str(Y)]); 
     end 
    end 
    end 
end 
関連する問題