2011-04-07 248 views
0

鑑於2矩陣一個具有相同的尺寸,如何計算matlab中2矩陣的二次型?

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,N,2,2)。

回答

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]) 
+0

沒有任何優化:)我只是想知道,如果我們可以得到一個* M *與尺寸(M,N,2,2)從* A,B *?您建議的代碼非常棒,但它會生成一個8x8矩陣。 – Drake 2011-04-08 01:05:35