Matlab中的转置—— ‘ 和 .‘ 的区别
一、区别
在MATLAB中,A.’ 和 A’ 都用于矩阵转置,但有一个关键区别:
-
A.’ 执行普通转置,只交换矩阵的行和列
-
A’ 执行共轭转置,不仅交换行和列,还对复数元素取共轭
对于实数矩阵,两者结果相同;但对于复数矩阵,结果会不同。
二、示例
% 创建一个实数矩阵
real_matrix = [1, 2, 3; 4, 5, 6];% 创建一个复数矩阵
complex_matrix = [1+2i, 3+4i; 5+6i, 7+8i];% 显示原始矩阵
disp('原始实数矩阵:');
disp(real_matrix);
disp('原始复数矩阵:');
disp(complex_matrix);% 比较转置操作
disp('实数矩阵的普通转置 (real_matrix.''):');
disp(real_matrix.');
disp('实数矩阵的共轭转置 (real_matrix''):');
disp(real_matrix');
disp(' ');disp('复数矩阵的普通转置 (complex_matrix.''):');
disp(complex_matrix.');
disp('复数矩阵的共轭转置 (complex_matrix''):');
disp(complex_matrix');
原始实数矩阵:1 2 34 5 6原始复数矩阵:1.0000 + 2.0000i 3.0000 + 4.0000i5.0000 + 6.0000i 7.0000 + 8.0000i实数矩阵的普通转置 (real_matrix.'):1 42 53 6实数矩阵的共轭转置 (real_matrix'):1 42 53 6复数矩阵的普通转置 (complex_matrix.'):1.0000 + 2.0000i 5.0000 + 6.0000i3.0000 + 4.0000i 7.0000 + 8.0000i复数矩阵的共轭转置 (complex_matrix'):1.0000 - 2.0000i 5.0000 - 6.0000i3.0000 - 4.0000i 7.0000 - 8.0000i
运行上述代码后,你会看到:
-
对于实数矩阵,两种转置结果相同
-
对于复数矩阵,普通转置保持复数不变,而共轭转置会取复共轭
三、使用建议
-
处理实数矩阵时,两者可互换使用
-
处理复数矩阵时,根据是否需要取共轭来选择适当的转置操作
-
明确使用 .’ 可以避免意外的共轭操作,提高代码可读性