Making a transformation matrix in matrix format

12 次查看(过去 30 天)
Hi, I've a matrix shows below
syms th d alph l
A = [cos(th) -cos(alph)*sin(th) sin(alph)*sin(th) l*cos(th);
sin(th) cos(alph)*cos(th) -sin(alph)*cos(th) l*sin(th);
0 sin(alph) cos(alph) d;
0 0 0 1]
i end up getting 4 matrices
A =
[cos(th), -cos(alph)*sin(th), sin(alph)*sin(th), l*cos(th)]
[sin(th), cos(alph)*cos(th), -sin(alph)*cos(th), l*sin(th)]
[ 0, sin(alph), cos(alph), d]
[ 0, 0, 0, 1]
but I want it in one matrix format, what can I do with it?
  1 个评论
C K Chan
C K Chan 2021-3-30
syms th d alph l
A = [ cos(th) -cos(alph)*sin(th) sin(alph)*sin(th) l*cos(th);
sin(th) cos(alph)*cos(th) -sin(alph)*cos(th) l*sin(th);
0 sin(alph) cos(alph) d;
0 0 0 1 ];
syms th1
A1 = subs(A,{l,alph,d,th},{0,pi/2,20,th1})
or I use subs numbers in the the matrix, I end uo getting this 4 matrices
A1 =
[cos(th1), 0, sin(th1), 0]
[sin(th1), 0, -cos(th1), 0]
[ 0, 1, 0, 20]
[ 0, 0, 0, 1]
I want to get it in one matrix like below
A1 =
cos(th1), 0, sin(th1), 0;
sin(th1), 0, -cos(th1), 0;
0, 1, 0, 20;
0, 0, 0, 1;
Thank you!

请先登录,再进行评论。

采纳的回答

Paul
Paul 2021-3-30
You're not getting 4, 1 x 4 matrices. It just looks like that because of the formatting to the diplay.
>> syms th d alph l
A = [ cos(th) -cos(alph)*sin(th) sin(alph)*sin(th) l*cos(th);
sin(th) cos(alph)*cos(th) -sin(alph)*cos(th) l*sin(th);
0 sin(alph) cos(alph) d;
0 0 0 1 ];
>> size(A)
ans =
4 4
As shown, A is, in fact, one 4 x 4 sym matrix.
  5 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Calculus 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by