how to expand/rewrite/simplify (cos(a)+cos(b))^2?

3 visualizzazioni (ultimi 30 giorni)
cfy30
cfy30 il 27 Lug 2023
I have the code below. How to expand/rewrite/simplify the expression f^2 into cos(2a), cos(2b), cos(a+b), cos(2a), cos(2b), cos(a-b), cos(b-a)?
==========================================
syms a b;
f=cos(a)+cos(b);
combine(f^2)
ans = 
shows (cos(a) + cos(b))^2
rewrite(f^2, 'sincos')
ans = 
shows (cos(a) + cos(b))^2
simplify(f^2)
ans = 
shows (cos(a) + cos(b))^2
==========================================
  3 Commenti
cfy30
cfy30 il 27 Lug 2023
The result I am looking for is without the square, the last expression below. Any way to do it?
(cos(a) + cos(b))^2
=cos(a)^2 + 2cos(a)cos(b) + cos(b)^2
=1/2*[1+cos(2a)] + cos(a+b)+cos(a-b) + 1/2*[1+cos(2b)]
Nathan Hardenberg
Nathan Hardenberg il 27 Lug 2023
I could be wrong, but I don't think this is possible. In the rewrite() documentation you can find a list of functions that can be replaced, but squares/powers are not (yet?) one of the options.
Still I want to mention that you can find multiple simplifications with the following Code:
syms a b
expr = cos(a) + cos(b);
simplify(expr,'Steps',15,'All',true)
ans = 

Accedi per commentare.

Risposte (0)

Prodotti


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by