Finding Symbolic Matrix Derivative
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have the following Matrix and I wish to find its derivative,
A = ![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/611830/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/611830/image.png)
Please note that ϕ and θ in this matrix are functions of time t.
I have the following MATLAB code,
syms phi theta t real
A = [1 , 0 , -sin(theta) ;...
0 , cos(phi) , cos(theta) * sin(phi) ;...
0 , -sin(phi) , cos(phi) * cos(theta)];
Adot = diff(A); % this isn't giving the result I expect
So I tried,
syms phi theta t real
A = [1 , 0 , -sin(theta) ;...
0 , cos(phi) , cos(theta) * sin(phi) ;...
0 , -sin(phi) , cos(phi) * cos(theta)];
phi(t) = phi;
theta(t) = theta;
Adot = diff(A , t); % this also isn't working
The result I want is,
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/611835/image.png)
Please help me to get this result.
0 comentarios
Respuestas (1)
Paul
el 8 de Mayo de 2021
Declare theta and phi as functions, and then substitute after differentiating A
syms phi(t) theta(t) phi_dot(t) theta_dot(t)
A=[1 0 -sin(theta);0 cos(phi) cos(theta)*sin(phi);0 -sin(phi) cos(phi)*cos(theta)]
subs(diff(A,t),diff([phi(t) theta(t)]),[phi_dot(t) theta_dot(t)])
Note that this result is not the same as the expected result in the question, which appears to have some terms that are incorrect.
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!