Как вычислить квадратичную форму матрицы 2 в Matlab? - PullRequest
0 голосов
/ 07 апреля 2011

Дано 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)|

Как получить M в Matlab?

обновлен

Надеюсь, мы можем получить M с размером (m, n, 2, 2).

1 Ответ

4 голосов
/ 07 апреля 2011

Ну, это простой способ сделать это:

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

Или вы имели в виду что-то более оптимизированное?

[Редактировать] Если я правильно понимаю, вы хотите 4D результат. Вот мое уродливое решение:

M = reshape([A(:).*A(:) ; A(:).*B(:) ; A(:).*B(:) ; B(:).*B(:)], [size(A) 2 2])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...