Finding Symbolic Matrix Derivative

I have the following Matrix and I wish to find its derivative,
A =
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,
Please help me to get this result.

답변 (1개)

Paul
Paul 2021년 5월 8일

0 개 추천

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)]
A(t) = 
subs(diff(A,t),diff([phi(t) theta(t)]),[phi_dot(t) theta_dot(t)])
ans(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.

카테고리

도움말 센터File Exchange에서 Programming에 대해 자세히 알아보기

제품

릴리스

R2020a

태그

질문:

JPS
2021년 5월 8일

답변:

2021년 5월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by