Hermitian转置细胞阵列

时间:2015-09-04 09:17:12

标签: matlab

我已将4个图像存储在单元格数组中,为4×1矩阵。如何在matlab中执行这个矩阵的厄米特转置,然后用它的厄米特转置执行这个矩阵?

2 个答案:

答案 0 :(得分:1)

Hermitian transpose是共轭转置。所以你可以使用' operator

imageT = image'

如果您的单元格数组包含四个图像,则可以执行以下操作:

images = {image1, image2, image3, image4}
imagesT = cell(size(images))
for ii = 1:numel(images)
  imagesT{ii} = images{ii}';
end

答案 1 :(得分:1)

另一种可能性是使用cellfun来避免for循环:

images = {rand(4,4)+i*rand(4,4), rand(4,4)+i*rand(4,4)};
images_h = cellfun(@ctranspose, images, 'UniformOutput', 0);

然后,如果你想执行逐元素乘法:

images_a = cellfun(@mtimes, images, images_h, 'UniformOutput', 0)