标签: 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()函数,但是找不到如何将其用于执行我想做的事情?
答案 0 :(得分:1)
您可以尝试使用几种不同的功能来更改符号表达式的格式:
collect:收集系数(可以指定一个表达式来收集其幂):
collect
>> collect(1/X + 1/Y) ans = (X + Y)/(Y*X)
simplify:进行代数简化:
simplify
>> simplify(1/X^2 + 1/Y^2 + 2/(X*Y)) ans = (X + Y)^2/(X^2*Y^2)
numden:转换为带分子和分母的有理形式:
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)