How to extract coefficient of a certain term in Matlab?

4 次查看(过去 30 天)
For example,
syms f1 f2 a
pexpansion = f1 - f2 - a*(f1 - f2) + f2/a + a^2*(f1 - f2) - a^3*(f1 - f2) + a^4*(f1 - f2)
I want to extract the coefficient of power 1 of a, which is (f1-f2). However, there is 1/a term in the expression which makes it not a polynomial. Does anyone know how to do this?

采纳的回答

Star Strider
Star Strider 2017-4-28
Try this:
syms f1 f2 a
pexpansion = f1 - f2 - a*(f1 - f2) + f2/a + a^2*(f1 - f2) - a^3*(f1 - f2) + a^4*(f1 - f2);
pexpansion = expand(a * pexpansion); % Eliminate ‘a’ In Denominator
[cfs,trms] = coeffs(pexpansion, a); % Coeffients & Terms
Result = cfs(trms == a) % Coefficient Of ‘a’
Result =
f1 - f2

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by