回 帖 发 新 帖 刷新版面

主题:如何用MATLAB计算这2个矩阵的乘积?

A =[cos(θ1),-sin(θ1),sin(θ1),0;sin(θ1),cos(θ1),0,0;0,0,1,d1;0,0,0,1]
B =[cos(θ2),0,-sin(θ2),l1cos(θ2);sin(θ2),0,cos(θ2),l1sin(θ2);0,-1,0,d2;0,0,0,1]怎么做呢?先谢谢大家帮忙了!

回复列表 (共8个回复)

沙发

先要知道你给的两个矩阵中的未知数,然后直接用A*B就是两个矩阵的乘积

板凳

未知数不知道,要求结果带者所有字母

3 楼

% θ1=sita1,θ2=sita2 关键在于用syms定义你的符号变量
程序如下:
syms sita1 sita2 d1 d2 l1
A =[cos(sita1),-sin(sita1),sin(sita1),0;sin(sita1),cos(sita1),0,0;0,0,1,d1;0,0,0,1];
B =[cos(sita2),0,-sin(sita2),l1*cos(sita2);sin(sita2),0,cos(sita2),l1*sin(sita2);0,-1,0,d2;0,0,0,1];
C=A*B;

4 楼

首先表示感谢!!!万分感谢
提示说:All rows in the bracketed expression must have the same 
number of columns.
怎么回事?
不好意思啊^

5 楼

呵呵不客气!

你看看你的程序里面A、B矩阵的大小是不是一样的
我这里运行时A、B都是4*4的矩阵,是你问题中所给的式子

6 楼

我是复制,粘贴了的啊

7 楼


我的也是对的啊!

8 楼

矩阵中有未知符号,故应定义符号变量,这样就可以以符号变量计算出来结果。

我来回复

您尚未登录,请登录后再回复。点此登录或注册