How to extract coefficients of custom variables in symbolic expression in MATLAB?
20 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
FAISAL ALQARNI
am 25 Jul. 2023
Kommentiert: Chunru
am 26 Jul. 2023
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?
2 Kommentare
Akzeptierte Antwort
Paul
am 25 Jul. 2023
Bearbeitet: Paul
am 25 Jul. 2023
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 Kommentare
Weitere Antworten (1)
Chunru
am 25 Jul. 2023
Bearbeitet: Chunru
am 25 Jul. 2023
Let iB=1, jB=0 and kB=0. Then compute omegaB.
3 Kommentare
Dyuman Joshi
am 25 Jul. 2023
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).
Siehe auch
Kategorien
Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!