2016-04-12 22 views
0

私は2つのブールの方程式があります。ブール方程式のxor系を解く方法は?

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

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

をそして私はそれらの間のXORを作ることになるだろうが、これは私が得るものです:

>> xor(F, F_A1) 

ans = 

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

エラーはどこにありますか?

+0

結果としてシンボリックな表現が得られます。代わりにブール値の結果が必要ですか(trueかfalseなど)?式の変数を定義または取得した方法を表示できますか? – Cyb3rFly3r

+0

>> syms I1 I2 I3 I4 I5 I6。私が望むのは結果の方程式です –

答えて

0

記号変数を宣言してから計算を実行しました。変数には値が割り当てられていないので、シンボリックツールボックスは式を返すだけです(これは正しい動作です)。変数の値を代入して数値的(あなたの場合はブール値)の結果を得る必要があります。関数subsを使用してください。 複数の置換が必要な場合があります。結果を単純化することもできます。あなたが探しているものがあなたの質問からはっきりと分かりません。数値的な答えがほしいのであれば、シンボリック変数は必要ありません。通常のブール変数だけが行います。

+0

MatlabがそのXOR方程式を解きたいのですが、変数I1、I2、I3に応じて表現したいと思っています... –

+0

解決したらどういう意味ですか?あなたが普通は特定の変数を解くことを試みる方程式を解く。 x + 2 = 0、xについて解くとx = - 2になります。変数には値が割り当てられていないので、MATLABは方程式を解くことができません。実際にそれは式であり、式ではありません( '=何か'はありません)。おそらくあなたはその表現を簡素化するmatlabを希望ですか? – Cyb3rFly3r

+0

例:A XOR B =>(A *〜B)+(〜A * B)。どのように私はmatlabでその操作を行うことができますか?私はXORを書く場合(a、b)は、私が何を得るを見て: >> XOR(a、b)は のANS = のXOR B –

関連する問題