我要计算产品
acc = 1.44e-10;
a = 1.732*acc;
a1 = (a/2) * [sqrt(3), -1, 0];
a2 = (a/2) * [sqrt(3), 1, 0];
coordinates = [4.45714 0 0; %B
2.22857 0 0.46152]; %A
R1 = coordinates(2, :)-coordinates(1,:);
R2 = R1 + a1;
R3 = R1 + a2;
R = [R1' R2' R3'];
n = dot(R,[ 0 0 1])/norm(R);
但我总是得到这个错误
A and B must be same size.
答案 0 :(得分:0)
当Matlab说 A和B的大小必须相同时,它指的是A
中的B
和dot(A,B)
。在您的情况下,这分别表示R
和[0 0 1]
。事实上,R
的大小为3x3,而[0 0 1]
的大小为1x3。
从数学上讲,点积只是为相同尺寸的物体定义的。您的对象(R
和[0 0 1]
)的维度不同。
具体地:
R = -2.2286 -2.2286 -2.2286 0 -0.0000 0.0000 0.4615 0.4615 0.4615
您可以在R1
和[0 0 1]
之间使用点积;在R2
和[0 0 1]
之间;以及R3
和[0 0 1]
之间。但是你不能在[R1' R2' R3']
和[0 0 1]
之间使用点积,因为这些对象的大小不同。