Matrix differentiation
조회 수: 87 (최근 30일)
이전 댓글 표시
Hi
I have matrix (3,3)in the form
M=[cos(a)*sin(b)*cos(c) sin(a)*sin(b)*sin(c) cos(a)^2*sin(b)^2*cos(c);.............;.......]
where a , b , c angls changing with the time
How i can differentiation the M according to time Mdott
Thx
댓글 수: 0
채택된 답변
Andrei Bobrov
2012년 6월 6일
syms a b c t
M=[cos(a)*sin(b)*cos(c) sin(a)*sin(b)*sin(c) cos(a)^2*sin(b)^2*cos(c)];
k = regexprep(char(M),{'\(a\)','\(b\)','\(c\)'},{'\(a\(t\)\)', '\(b\(t\)\)', '\(c\(t\)\)'});
out = feval(symengine,'diff', k, t)
ADD after rami's comment
z = feval(symengine,'diff', k, t);
out = sym(regexprep(char(z),'(\(t\))|(\*diff\([abc]\(t\), t\))',''))
추가 답변 (1개)
Walter Roberson
2012년 6월 6일
I am relatively sure the below should work:
syms a b c t
M=[cos(a(t))*sin(b(t))*cos(c(t)) sin(a(t))*sin(b(t))*sin(c(t)) cos(a(t))^2*sin(b(t))^2*cos(c(t));.............;.......]
diff(M, t)
What might also work, at least with sufficiently new Symbolic Toolbox, is
syms a(t) b(t) c(t) t
M=[cos(a)*sin(b)*cos(c) sin(a)*sin(b)*sin(c) cos(a)^2*sin(b)^2*cos(c);.............;.......]
diff(M,t)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!