如何在matlab中实现共轭矩阵转置函数?

How to implement conjugate matrix transpose function in matlab?

我是 matlab 的新手,我的问题是我正在尝试实现共轭矩阵转置函数 ('),但我不知道如何仅更改虚数的符号。我知道这可能是个愚蠢的问题,但感谢您提供任何提示和建议。

我试过类似的方法,但出现以下错误:

MATLAB 很困惑,因为以下语句试图将 imag 视为变量,将 result 作为索引,因为它位于赋值的左侧。

imag(result) = imag(result) * (-1);

此外,重要的是要注意 imag returns 一个 实数 这是虚部的大小。一旦你修改了imag的输出,你需要乘以sqrt(-1)才能得到一个虚数

imag(a) * (-1) * 1i;

现在只修改 result 的虚部,您只需将这个新的虚部与 result 的实部相加即可。

result = real(result) + imag(result) * (-1) * 1i;

或者更简单地说:

result = real(result) - imag(result) * 1i;

一个潜在的选择

如果您可以使用正常的 transpose 函数,您可以将整个函数替换为以下内容:

result = transpose(a);
result = real(result) - imag(result) * 1i;