在 MATLAB 中计算复共轭转置


复共轭转置是对复数矩阵执行的一种数学运算。它也称为矩阵的厄米特转置。在此运算中,首先取矩阵的转置,然后取矩阵中每个元素的共轭。

例如,如果存在一个复数矩阵 M,则该矩阵的复共轭转置将为 M*,它是通过取 M 的转置,然后用其复共轭替换每个元素而获得的。复数的复共轭只需改变该数的虚部的符号即可确定。

复共轭转置运算在线性代数和信号处理运算中得到应用。

在本文中,我们将学习如何在 MATLAB 中计算矩阵的复共轭转置。

MATLAB 提供以下两种计算复数矩阵的复共轭转置的常用方法

  • `'` 运算符

  • `ctranspose()` 函数

现在,让我们分别讨论 MATLAB 编程中这两种方法的实现。

使用 `'` 运算符进行复共轭转置

在 MATLAB 中,我们可以使用 `'` 运算符来计算复数矩阵的复共轭转置。

语法

matB = matA'

这里,matA 是原始的复数矩阵,`'` 运算符用于计算复共轭转置,然后 matB 存储复共轭转置矩阵。

以下 MATLAB 程序演示了 `'` 运算符在计算复数矩阵的复共轭转置方面的实现。

示例

% MATLAB program to demonstrate the use of `'` operator
% Create a sample complex matrix
matA = [2 + 2i, 3 + 1i, 1 + 4i;
6 + 7i, 7 + 8i, 8 + 9i;
10 + 11i, 2 + 5i, 3 + 7i];
% Display the original matrix
disp('Original Matrix:');
disp(matA);
% Calculate the complex conjugate transpose of matA
matB = matA';
% Display the complex conjugate transposed matrix
disp('Complex Conjugate Transposed Matrix:')
disp(matB);    

输出

Original Matrix:
    2 +  2i    3 +  1i    1 +  4i
    6 +  7i    7 +  8i    8 +  9i
   10 + 11i    2 +  5i    3 +  7i
Complex Conjugate Transposed Matrix:
    2 -  2i    6 -  7i   10 - 11i
    3 -  1i    7 -  8i    2 -  5i
    1 -  4i    8 -  9i    3 -  7i

解释

在这个 MATLAB 程序中,我们首先定义一个 3 x 3 的复数矩阵“matA”。然后,我们使用“disp()”函数显示原始矩阵。之后,我们使用 `'` 运算符计算“matA”的复共轭转置,并将此转置矩阵存储在“matB”中。最后,我们使用“disp”函数显示复共轭转置矩阵“matB”。

使用 `ctranspose()` 函数进行复共轭转置

MATLAB 有一个内置函数“ctranspose()”用于计算矩阵的复共轭。

语法

matB = ctranspose(matA);

这里,“matA”是原始的复数矩阵,“matB”是矩阵“matA”的复共轭转置。

以下 MATLAB 程序说明了 `ctranspose()` 函数在计算矩阵的复共轭转置方面的实现。

示例

% MATLAB program to demonstrate the use of `ctranspose` function
% Create a sample complex matrix
matA = [2 + 2i, 3 + 1i, 1 + 4i;
6 + 7i, 7 + 8i, 8 + 9i;
10 + 11i, 2 + 5i, 3 + 7i];
% Display the original matrix
disp('Original Matrix:');
disp(matA);
% Calculate the complex conjugate transpose of matA
matB = ctranspose(matA);
% Display the complex conjugate transposed matrix
disp('Complex Conjugate Transposed Matrix:')
disp(matB);    

输出

Original Matrix:
    2 +  2i    3 +  1i    1 +  4i
    6 +  7i    7 +  8i    8 +  9i
   10 + 11i    2 +  5i    3 +  7i
Complex Conjugate Transposed Matrix:
    2 -  2i    6 -  7i   10 - 11i
    3 -  1i    7 -  8i    2 -  5i
    1 -  4i    8 -  9i    3 -  7i

结论

在这个 MATLAB 程序中,我们首先定义一个复数矩阵“matA”。然后,我们使用“disp()”函数显示原始矩阵。接下来,我们使用 `ctranspose()` 函数计算“matA”的复共轭转置,并将此转置矩阵存储在“matB”中。最后,我们使用“disp”函数显示复共轭转置矩阵“matB”。

这就是我们在 MATLAB 中轻松计算复数矩阵的复共轭转置的方法。

更新于: 2023年7月18日

213 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告