关于matlab矩阵乘法的问题

A=[cos(x) 0 sin(x);0 1 0;-sin(x) 0 cos(x)]; B=[cos(y) sin(y) 0;-sin(y) cos(y) 0;0 0 1]; 这两个矩阵怎么算乘法?

这个就要根据你的需求了,matlab中矩阵相乘有两种,一种是点乘,即A.*B,还有一种是直接乘,即A*B。点乘是两个矩阵之间对应坐标之间的元素相乘,而直接乘,就是按照矩阵乘法的法则里计算的。
给出源代码如下:
>> syms x y
>> A=[cos(x) 0 sin(x);0 1 0;-sin(x) 0 cos(x)];
>> B=[cos(y) sin(y) 0;-sin(y) cos(y) 0;0 0 1];
>> C1=A.*B;
>> C2=A*B;
>> C1

C1 =

[cos(y) cos(x) 0 0 ]
[ ]
[ 0 cos(y) 0 ]
[ ]
[ 0 0 cos(x)]
>> C2

C2 =

[cos(y) cos(x) cos(x) sin(y) sin(x)]
[ ]
[ -sin(y) cos(y) 0 ]
[ ]
[-sin(x) cos(y) -sin(x) sin(y) cos(x)]
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-25
syms x y
A=[cos(x) 0 sin(x);0 1 0;-sin(x) 0 cos(x)];
B=[cos(y) sin(y) 0;-sin(y) cos(y) 0;0 0 1];
A*B
输出结果:
[ cos(x)*cos(y), cos(x)*sin(y), sin(x)]
[ -sin(y), cos(y), 0]
[ -cos(y)*sin(x), -sin(x)*sin(y), cos(x)]
第2个回答  2013-03-25
> syms x y
>> A=[cos(x) 0 sin(x);0 1 0;-sin(x) 0 cos(x)];
>> B=[cos(y) sin(y) 0;-sin(y) cos(y) 0;0 0 1];
>> A*B
ans =
[ cos(x)*cos(y), cos(x)*sin(y), sin(x)]
[ -sin(y), cos(y), 0]
[ -cos(y)*sin(x), -sin(x)*sin(y), cos(x)]
相似回答