公式举例:2(3x+2y)=4a+b
其中x,y为未知数 a,b为已知数
要求:求未知数x的结果(不一定是最终值,可能是表达式)
如:或x=(4a+b-4y)/6希望大家能给点思路,如果有代码或者第三的插件的更好,谢谢!

解决方案 »

  1.   

    建2个堆栈,一个放数据,一个放操作符,
    先找到x所在位置,然后依次往外2(3x+2y)=4a+b x  *
    3x  *
    3  +
    2yx  *
    3  +
    2y *
    2然后以=号右边为准,依次出栈,每次数据和操作符都出栈一个,而且操作符取反,+对应-,-对应+,*对应/,/对应*x  *
    3  +
    2y 2  ×(4a+b)/2 x  *
    3  2y +((4a+b)/2)-2y x 
    3  × 
    (((4a+b)/2)-2y)/3x=(((4a+b)/2)-2y)/3
      

  2.   

    这是符号计算的问题。可用Matlab COM接口实现。Matlab里提供了Maple的符号运算工具箱。