如何在matlab中计算2矩阵的二次型?

时间:2011-04-07 17:07:04

标签: matlab matrix

给定2个矩阵 A B 具有相同的维度,

M(x, y) = |A(x, y).*A(x, y)  A(x, y).*B(x, y)|
          |A(x, y).*B(x, y)  B(x, y).*B(x, y)|

如何在matlab中获取 M

更新

希望我们可以得到尺寸为(m,n,2,2)的 M

1 个答案:

答案 0 :(得分:4)

嗯,这是一种直接的方法:

M = [ A.*A  A.*B ; A.*B B.*B ]

或者你有更优化的东西吗?

[编辑] 如果我理解正确,您需要4D结果。这是我丑陋的解决方案:

M = reshape([A(:).*A(:) ; A(:).*B(:) ; A(:).*B(:) ; B(:).*B(:)], [size(A) 2 2])