用MATLAB中的其他表达式表达表达式

时间:2018-07-05 18:59:34

标签: matlab symbolic-math

在MATLAB中是否可以用其他表达式来表达一个表达式?

例如,以下表达式被写为和(X + Y)和乘积(XY)

1/X + 1/Y = (X + Y)/XY

1/X^2 + 1/Y^2 + 2/(XY) = (X + Y)^2/(XY)

2*X/Y + 2*Y/X = 2*((X + Y)^2 - 2*X*Y)/(XY)

我了解rewrite()函数,但是找不到如何将其用于执行我想做的事情?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用几种不同的功能来更改符号表达式的格式:

  • collect:收集系数(可以指定一个表达式来收集其幂):

    >> collect(1/X + 1/Y)
    
    ans =
    
    (X + Y)/(Y*X)
    
  • simplify:进行代数简化:

    >> simplify(1/X^2 + 1/Y^2 + 2/(X*Y))
    
    ans =
    
    (X + Y)^2/(X^2*Y^2)
    
  • numden:转换为带分子和分母的有理形式:

    >> [n, d] = numden(2*X/Y + 2*Y/X)
    
    n =
    
    2*X^2 + 2*Y^2
    
    d =
    
    X*Y
    
    >> n/d
    
    ans =
    
    (2*X^2 + 2*Y^2)/(X*Y)