У меня есть матрица X размерности nx2.
Используя эту матрицу, я хочу построить тензор Y размером 2x2xn. Так что Y(:, :, i) = X(i, :)'*X(i, :)
Можно ли это сделать в Matlab без цикла, используя некоторую операцию линейной алгебры?
У меня есть матрица X размерности nx2.
Используя эту матрицу, я хочу построить тензор Y размером 2x2xn. Так что Y(:, :, i) = X(i, :)'*X(i, :)
Можно ли это сделать в Matlab без цикла, используя некоторую операцию линейной алгебры?
bsxfun
решение на основе -
Y = permute(bsxfun(@times, X, permute(X,[1 3 2])),[3 2 1])
'
, здесь потребовалось бы комплексное сопряжение. Но он, вероятно, имел в виду просто .'
- person Luis Mendo; 11.09.2014
'
как транспонирование, я думаю.
- person Divakar; 12.09.2014