在R2012b simplify给了我

cos(T + fi) + sin(T + fi)

所以你可能有一个更新的版本。 仍然:很难想出一个符号表达式的特定简化,特别是如果涉及三角函数。

如果您正在寻找正弦表达式,您可以尝试rewrite :

>> rewrite(fun,'sin')

ans(T, fi) =

sin(T + fi) - 2*sin(T/2 + fi/2)^2 + 1

上面的输出再次来自R2012b,你的新版本很可能会做得更好。

我最初建议您尝试simple ,默认情况下(使用0输出变量)将尝试一系列各种简化尝试,并告诉您结果。 但是,正如@horchler指出的那样 ,此函数已被弃用,并且在2015a之后不再可用。 无论如何,这里是来自R2012b的这个现已消失的函数的输出,它可能会给你提示有关更多低级函数的尝试:

>> syms T fi t real

>> fun = symfun(sin(T+fi)+cos(T+fi),[T fi]);

>> simple(fun)

simplify:

cos(T + fi) + sin(T + fi)

radsimp:

cos(T + fi) + sin(T + fi)

simplify(100):

cos(T + fi) + sin(T + fi)

combine(sincos):

cos(T + fi) + sin(T + fi)

combine(sinhcosh):

cos(T + fi) + sin(T + fi)

combine(ln):

cos(T + fi) + sin(T + fi)

factor:

cos(T + fi) + sin(T + fi)

expand:

cos(T)*cos(fi) - sin(T)*sin(fi) + cos(T)*sin(fi) + sin(T)*cos(fi)

combine:

cos(T + fi) + sin(T + fi)

rewrite(exp):

exp(- T*i - fi*i)*(1/2 + i/2) + exp(T*i + fi*i)*(1/2 - i/2)

rewrite(sincos):

cos(T + fi) + sin(T + fi)

rewrite(sinhcosh):

cosh(T*i + fi*i) - sinh(T*i + fi*i)*i

rewrite(tan):

(2*tan(T/2 + fi/2))/(tan(T/2 + fi/2)^2 + 1) - (tan(T/2 + fi/2)^2 - 1)/(tan(T/2 + fi/2)^2 + 1)

mwcos2sin:

sin(T + fi) - 2*sin(T/2 + fi/2)^2 + 1

collect(T):

cos(T + fi) + sin(T + fi)

ans(T, fi) =

cos(T + fi) + sin(T + fi)

最后一行是从前一个列表中找到的最短表示,这将是您的单个返回值。 您可以从列表中选择。 您的版本可能会产生更多样化的输出。

更多推荐