张量的z方向上的向量之间的内积

时间:2014-01-29 13:14:29

标签: matlab

初始化:

  a = [1 2]'; 
  z1 = [1 2 3;4 5 6]; 
  z2 = [7 8 9;10 11 12];
  z = cat(3,z1,z2);
  e = repmat(permute(a, [2 3 1 ] ),2,3);

导出结果:

查找2x3矩阵t,其元素为t(1,1) = inner product between z(1,1,:) and e(1,1,:)t(2,2) = inner product between z(2,2,:) and e(2,2,:), etc.

1 个答案:

答案 0 :(得分:0)

我想你想要这个:

t = permute(sum(bsxfun(@times, a, permute(z, [3 1 2]))), [2, 3, 1])

请注意我使用了a而不是e因为bsxfun使得repmat无法使用

现在t(1,1)等于z(1,1,:)e(1,1,:)的内积,t(1,2)等于z(1,2,:)e(1,2,:)的内积等。