在 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 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.