Next: Equations Up: Symbolic Transformations Previous: Substitution

### Simplifying and Collecting Expressions

The function `trigrat`(expression) applies a series of algorithms to expression.
• All numbers are transformed to exact format.
• Trigonometric functions are expanded to complex exponentials.
• Addition theorems for the exponentials are applied.
• Square roots are calculated and collected.
• Complex exponentials are backtransformed to trigonometric functions.
It is often required to apply `float(expression)` to the final result.
```>> syms x
>> trigrat(sin(x)^2+cos(x)^2)
ans = 1
>> b=sin(x)^2+sin(x+2*pi/3)^2+sin(x+4*pi/3)^2;
>> trigrat(b)
ans = 3/2
>> trigrat(i/2*log(x+i*pi))
ans = 1/4*i*log(x^2+pi^2)+(1/2*atan(x/pi)-1/4*pi)
>> trigrat(sin((x+y)/2)*cos((x-y)/2))
ans = 1/2*sin(y)+1/2*sin(x)
>> trigrat(sqrt(4*y^2+4*x*y-4*y+x^2-2*x+1))
ans = y+(1/2*x-1/2)
```
`trigexpand(expression)` expands trigonometric expressions to complex exponentials. It is the first step of the function `trigrat` above.

```>> syms x
>> trigexp(i*tan(i*x))
ans = (-exp(2*x)+1)/(exp(2*x)+1)
>> trigexp(atan(1-x^2))
ans = -1/2*i*log((-x^2+(1-1*i))/(x^2+(-1-1*i)))
```

Helmut Dersch
2009-03-15