2016-04-12 23 views
0

Ben 2 boolean denklemler var:Boole denklemlerinin bir xor sistemini nasıl çözebilirim?

> F=~I5+I1*I2*I3*I4 

> F_A1=~I5+~(I3*I4) 

Ve aralarındaki XOR yapmak kılacak, fakat bu ne alıyorum:

>> xor(F, F_A1) 

ans = 

(~I5) + I1*I2*I3*I4 xor (~I5) + (~I3*I4) 

hata nerede?

+0

Yani, sonuç olarak sembolik bir ifade alıyorsunuz, bunun yerine bir boole sonucuna ihtiyacınız var mı (örneğin, doğru veya yanlış)? İfadenizdeki değişkenleri nasıl tanımladığınızı veya elde ettiğinizi gösterebilir misiniz? – Cyb3rFly3r

+0

>> syms I1 I2 I3 I4 I5 I6. İstediğim sonuç denklem –

cevap

0

Sembolik değişkenleri beyan ettiniz ve daha sonra bazı hesaplamalar yaptınız. Değişkenler, kendilerine atanan herhangi bir değere sahip olmadıklarından sembolik araç kutusu size ifadeyi döndürür (doğru davranış). Sayısal (durumunuzda boole) sonuca ulaşmak için değişkenlerin değerlerini değiştirmeniz gerekir. subs işlevini kullanın. Sizin durumunuzda çoklu ikameleri istiyorsunuz. Sonuçlarınızı da basitleştirmek isteyebilirsiniz. Tam olarak ne aradığınızı sorularınızdan belli değil. Sadece sayısal bir cevap istiyorsanız sembolik değişkenlere ihtiyacınız olmaz, sadece normal boole değişkenleri yapar.

+0

Ben sadece Matlab'ın XOR denklemini çözmesini istiyorum, I1, I2, I3 ... –

+0

değişkenlerine bağlı olarak ifadeye sahip olmak istiyorum Ne zaman çözmek istediğinizi açık değil: normalde belirli bir değişken için çözmeyi denediğiniz bir denklemi çözer, örn. x + 2 = 0, x için çözülür, x = - 2 verir. MATLAB denklemi çözemez çünkü değişkenlerin hiçbiri atanmış değere sahip değildir. Aslında bu bir ifadedir, bir denklem değildir ('= bir şey' yoktur). Belki de bu ifadeyi basitleştirmek için matlab'ı istersiniz? – Cyb3rFly3r

+0

örneğin: Bir XOR B => (A * ~ B) + (~ A * B). Bu operasyonu matlabda nasıl yapabilirim? Ben xor yazarsanız (a, b) alıyorum bak ne: >> xor (a, b) ans = bir yada b –