如何使用后缀解决简单的线性方程

时间:2015-04-07 01:15:06

标签: algorithm math postfix-notation

我有一个程序,它接受一个简单的线性方程式,并将其转换为后缀中的等效方程式。

例如:

 3x+7=4(2x-1) 

将转化为

3 x * 7 + = 4 2 x * 1 - *

如何使用其后缀形式在此示例中获取x的值。非常感谢任何帮助,谢谢

编辑 - 我需要逻辑而不是代码的帮助(我不是要求人们为我做代码)

2 个答案:

答案 0 :(得分:0)

如果你的线性方程在x方面总是采用右手边(RHS)的形式,而在x方面则是左手边(LHS),那么以下方法就可以了。

  1. 从LHS和RHS中减去LHS。然后你在LHS上有0,在RHS上用x表示。

  2. 开始简化后缀表达式。每次使用数字操作数进行加法或减法运算时,请根据需要在LHS中添加或减去该值,并将计算中的操作数替换为0。

  3. 最后你应该留下一个b = a * x形式的等式。解决方案(如果存在并且是唯一的)则是b / a。

答案 1 :(得分:0)

和代数一样,先把它简化成一个形式:

3 x * 7 + = 4 2 x * 1 - *

我们看到a = 2 x *,然后是b = a 1 -,离开4 b *。将 b 中的每一项相乘:

3 x * 7 + = 2 4 * x * 1 4 * -
3 x * 7 + = 8 x * 4 -

在左边做同样的事情:

3 7 / x * 1 + = 8 x * 4 -

现在通过删除顶级 1 + 或以其他方式改变一些顶级加法,从每一边减去 1:

3 7 / x * = 8 x * 5 -

并减去8 x *

3 7 / x * 8 x * - = 0 5 -

移动事物并乘以-1:

8 x * 3 7 / x * - = 5

注意:乘以 -1 很容易。代数符号:

(a - b) * -1 = (0 + (a - b)) * -1
(a - b) * -1 = -1*0 + (-1*a - -1*b)
(a - b) * -1 = 0 + (-a - -b)
(a - b) * -1 = (-a + b)
(a - b) * -1 = b - a

我曾尝试用它来修正线性代数中的一个错误,但在测试中丢了几分,因为老师说我不能只要求 -(a-b) = (b-a),所以我必须证明 {{1} } 我猜。

在反向润色中,0-x = -x。因为 a b - 0 - = b a - 0 + 很常见,所以对乘法重新排序:

x

两边除以8 3 7 / - x * = 5 53 7 / x * = 5

53 / 7

求解 x = 5 53 7 / * x = 5 53 * 7 / x = 265 7 / x = 37 6 7 / +