Программа Matlab для расчета выходов логической схемы

Логическая схема

Я должен был рассчитать каждый выход по этой логической схеме, и у меня нет никакого опыта работы с электроникой.

Итак, я искал значение символов и строю свою программу на 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

1 ответ

Решение

Ваш код даст правильные результаты, но вы можете использовать встроенные функции MATLAB для булевой алгебры.

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
Другие вопросы по тегам