How to extract coefficients of custom variables in symbolic expression in MATLAB?
22 次查看(过去 30 天)
显示 更早的评论
I want to extract the coefficient of i_B from the attached symbolic experession called omega_B and call it p for example, how to do that?
采纳的回答
Paul
2023-7-25
编辑:Paul
2023-7-25
syms psi phi theta i_B j_B k_B psi_dot phi_dot theta_dot
omega_B = (phi_dot - psi_dot*sin(theta))*i_B + (theta_dot*cos(phi) + psi_dot*cos(theta)*sin(phi))*j_B + (psi_dot*cos(phi)*cos(theta) - theta_dot*sin(phi))*k_B
[c,t] = coeffs(omega_B,i_B)
p = c(t == i_B)
Get all the components simultaneously. Using both output arguments of coeffs forces the first output argument to be in the desired order (at least I think that's how it works)
clear c t
[omega,t] = coeffs(omega_B,[i_B j_B k_B])
p = omega(1); q = omega(2); r = omega(3); % if individual components are needed as individual variables
[p;q;r]
[p,q,r]=struct('omega',num2cell(omega)).omega % one line approach
0 个评论
更多回答(1 个)
Chunru
2023-7-25
编辑:Chunru
2023-7-25
Let iB=1, jB=0 and kB=0. Then compute omegaB.
3 个评论
Dyuman Joshi
2023-7-25
Not a function let, but the english word 'let'.
He suggested the exact thing you found out on your own (what you mentioned in a comment above).
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!