Extracting coefficients of 'sinwt', 'coswt', sin2wt etc from a symbiolic expression.

Hello,
I am having a mathmatical symbolic expression and want to extract the coefficient of 'sinwt', 'coswt', 'sin2wt' and so on.
For e.g. the expression is,
where, , and are symbolic variables. Now, is there anyway to get the coefficient of 'sinwt', 'coswt', 'cos3wt' etc. from this expression ? or in other words, is it possible to get the following desired output ?

5 comentarios

What would be the desired output in that example? What would be the desired output for the example of
The desired output of this example is,
The origin of your cos(3*omega*t) and the division by 2 is not obvious to me. I do find that,
syms k [1 3]
syms omega t
y = k(1)*sin(omega*t) * k(2)*sin(2*omega*t) + k(3) * sin(omega*t)
y = 
yexp = rewrite(y, 'exp')
yexp = 
yexps = simplify(yexp)
yexps = 
ysincos = rewrite(yexps, 'sincos')
ysincos = 
ysincoss = simplify(ysincos)
ysincoss = 
In the end, I added the following code and it gives me the desired output.
combine(ysincoss,'sincos')
Ah... you can get there in a single step with
combine(y, 'sincos')

Iniciar sesión para comentar.

Respuestas (1)

Hi,
My understanding is that you would like to extract the coefficients of a symbolic trigonometric expression. The function "coeffs" can be used to return coefficients of an expression with respect to a specified term as follows:
syms a b c x
expr = a*sin(x)*b*sin(2*x) + c*sin(x);
[csin, tsin] = coeffs(expr, [sin(x), sin(2*x)])
csin = 
tsin = 

Categorías

Más información sobre Symbolic Math Toolbox en Centro de ayuda y File Exchange.

Preguntada:

el 8 de Ag. de 2021

Editada:

el 12 de Ag. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by