对Matlab中共轭、转置和共轭装置的区别说明

共轭

转置

共轭转置

The symbols (·)T , (·)∗, and (·)H are,respectively,
the transpose, complex conjugate
and Hermitian transpose operators.

这里使用随机产生的矩阵来说明问题,例如:

A=randn(2,2)+randn(2,2)*i
A=randn(2,2)+randn(2,2)*j
A=randn(2,2)+randn(2,2)*1i

三种方式结果一致,为了程序的稳定性,建议使用第三种产生

共轭

使用共轭符号后

conj(A)

矩阵的每一个元素都取了共轭

转置

A.'

对矩阵进行了转置

共轭转置

conj(A.')

或者

conj(A).'

先共轭还是转置,结果都是一致的,不分先后顺序

%上诉的写法比较麻烦,但是不容易搞混淆,尤其有程序中有共轭,有装置,有共轭装置
%如果程序中没有这些可以使用以下符号
A'

这个是埃尔米特转置运算符,进行转置和共轭,结果一致;如果进行操作的数是实数,那么可以直接使用这个符号,这时候共轭的作用消失了,起到的是和转置一样的作用,之前没有接触复数,以为这个就是转置,事实上不是的

补充知识:matlab 复矩阵共轭

A 为复矩阵

A =

 1.0000 + 0.0000i 2.0000 - 3.0000i 3.0000 + 0.0000i 4.0000 + 0.0000i
 4.0000 + 0.0000i 3.0000 + 4.0000i 2.0000 + 5.0000i 1.0000 + 0.0000i
 7.0000 + 0.0000i 8.0000 + 2.0000i 9.0000 + 0.0000i 6.0000 + 0.0000i

A':共轭转置

>> A'
ans =

 1.0000 + 0.0000i 4.0000 + 0.0000i 7.0000 + 0.0000i
 2.0000 + 3.0000i 3.0000 - 4.0000i 8.0000 - 2.0000i
 3.0000 + 0.0000i 2.0000 - 5.0000i 9.0000 + 0.0000i
 4.0000 + 0.0000i 1.0000 + 0.0000i 6.0000 + 0.0000i

A.':只转置不共轭

>> A.'
A =

 1.0000 + 0.0000i 2.0000 - 3.0000i 3.0000 + 0.0000i 4.0000 + 0.0000i
 4.0000 + 0.0000i 3.0000 + 4.0000i 2.0000 + 5.0000i 1.0000 + 0.0000i
 7.0000 + 0.0000i 8.0000 + 2.0000i 9.0000 + 0.0000i 6.0000 + 0.0000i

conj(A):只共轭

>> conj(A)
ans =

 1.0000 + 0.0000i 2.0000 + 3.0000i 3.0000 + 0.0000i 4.0000 + 0.0000i
 4.0000 + 0.0000i 3.0000 - 4.0000i 2.0000 - 5.0000i 1.0000 + 0.0000i
 7.0000 + 0.0000i 8.0000 - 2.0000i 9.0000 + 0.0000i 6.0000 + 0.0000i

A.*conj(A) == abs(A).^2

>> A.*conj(A)
ans =

  1 13  9 16
 16 25 29  1
 49 68 81 36

>> abs(A).^2
ans =

 1.0000 13.0000 9.0000 16.0000
 16.0000 25.0000 29.0000 1.0000
 49.0000 68.0000 81.0000 36.0000

以上这篇对Matlab中共轭、转置和共轭装置的区别说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python矩阵运算,转置,逆运算,共轭矩阵实例

    我就废话不多说了,大家还是直接看代码吧! #先定义两个矩阵 X=np.array([[1,2104,5,1,45],[1,1416,3,2,40],[1,1534,3,2,30],[1,852,2,1,36]]) y=np.array([45,40,30,36]) #内积以后发现 c=np.dot(X.T,X) c array([[ 4, 5906, 13, 6, 151], [ 5906, 9510932, 21074, 8856, 228012], [ 13, 21074, 47, 19,

  • 基于Python共轭梯度法与最速下降法之间的对比

    在一般问题的优化中,最速下降法和共轭梯度法都是非常有用的经典方法,但最速下降法往往以"之"字形下降,速度较慢,不能很快的达到最优值,共轭梯度法则优于最速下降法,在前面的某个文章中,我们给出了牛顿法和最速下降法的比较,牛顿法需要初值点在最优点附近,条件较为苛刻. 算法来源:<数值最优化方法>高立,P111 我们选用了64维的二次函数来作为验证函数,具体参见上书111页. 采用的三种方法为: 共轭梯度方法(FR格式).共轭梯度法(PRP格式).最速下降法 # -*- codin

  • 对Matlab中共轭、转置和共轭装置的区别说明

    共轭 转置 共轭转置 The symbols (·)T , (·)∗, and (·)H are,respectively, the transpose, complex conjugate and Hermitian transpose operators. 这里使用随机产生的矩阵来说明问题,例如: A=randn(2,2)+randn(2,2)*i A=randn(2,2)+randn(2,2)*j A=randn(2,2)+randn(2,2)*1i 三种方式结果一致,为了程序的稳定性,建

  • matlab中实现矩阵删除一行或一列的方法

    实例如下所示: >> A=[1,2,3;4,5,6;7,8,9] A = 1 2 3 4 5 6 7 8 9 删除行: >> A(2,:)=[] A = 1 2 3 7 8 9 删除列: >> A(:,2)=[] A = 1 3 7 9 以上这篇matlab中实现矩阵删除一行或一列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: Python numpy 提取矩阵的某一行或某一列的实例 Python矩阵常见运算操

  • 详解Matlab中 sort 函数用法

    (1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序. eg: A=[1,5,3],则sort(A)=[1,3,5] A=[1,5,3;2,4,1],则sort(A)=[1,4,1;2,5,3] (2)B=sort(A,dim),对数组按指定方向进行升序排序, dim =1,表示对每一列进行排序,,dim=2表示对每一行进行排序. (3)B=sort(A,dim,mode),mode为指定排序模式,mode为"ascend"时,

  • 简述Matlab中size()函数的用法

    size()函数用来获取矩阵的行数和列数. (1)s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数. (2)[r,c]=size(A), 当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c. (3)size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数.其中r=size(A,1)该语句返回的时矩阵A的行数, c=si

  • 对numpy中数组转置的求解以及向量内积计算方法

    有点抱歉的是我的数学功底确实是不好,经过了高中的紧张到了大学之后松散了下来.原本高中就有点拖后腿的数学到了大学之后更是一落千丈.线性代数直接没有学明白,同样没有学明白的还有概率及统计以及复变函数.时至今日,我依然觉得这是人生中让人羞愧的一件事儿.不过,好在我还有机会,为了不敷衍而去学习一下. 矩阵的转置有什么作用,我真是不知道了,今天总结完矩阵转置的操作之后先去网络上补充一下相关的知识. 今天的代码操作如下: In [15]: arr1 = np.arange(20) In [16]: arr1

  • matlab中imadjust函数的作用及应用举例

    imadjust简介 imadjust是一个计算机函数,该函数用于调节灰度图像的亮度或彩色图像的颜色矩阵.在matlab的命令窗口中键入: doc imadjust或者help imadjust即可获得该函数的帮助信息, 键入type imadjust可以查看函数的源代码. 调用格式: J = imadjust(I) J = imadjust(I,[low_in; high_in],[low_out; high_out]) J = imadjust(I,[low_in; high_in],[lo

  • Matlab中plot基本用法的具体使用

    本文主要介绍了Matlab中plot基本用法的具体使用,分享给大家,具体如下: >> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y) 生成的图形是以序号为横坐标.数组y的数值为纵坐标画出的线 >> x=linspace(0,2*pi,30); % 生成一组线性等距的数值 >> y=sin(x); >> plot(x,y) 生成的图形是上30个点连成的光滑的正弦曲线. x为横轴y为纵轴 多重线 在同一个画面上可

  • 在matlab中实现for循环的方法

    简单for循环 for循环用来循环处理数据. 例:输出1~100的和 >> clear >> sum = 0; >> for i = 1:100 sum = sum +i; end >> sum sum = 5050 解释:i从1到100,每次增加一个,该共循环100次 注意:分号的位置:不能使用"+="符号:每写一层循环,必须以end结尾 带有步长的for循环 例:输出1到10之间的奇数和 >> clear >>

  • 详解Matlab中自带的Java操作合集

    目录 1 获取鼠标在全屏位置 2 获取当前剪切板内容 3 内容复制到剪切板 4 获取鼠标处像素颜色 5 获取屏幕截图 6 创建java窗口(并使其永远在最上方) 7 透明窗口 1 获取鼠标在全屏位置 屏幕左上角为坐标原点,获取鼠标位置和获取鼠标像素颜色建议和while循环或者timer函数结合使用: import java.awt.MouseInfo; mousepoint=MouseInfo.getPointerInfo().getLocation(); mousepoint=[mousepo

  • 详解如何从Matlab中导出清晰的结果图片

    目录 如何从Matlab中导出清晰的结果图片 不清晰的原因 解决办法 原因1的解决办法 原因2的解决办法 总结 如何从Matlab中导出清晰的结果图片 写论文和报告都需要放结果图.但是保存图像的方法不当,保存图片放大缩小都不清晰. 这样: 下面介绍出现不清晰的可能原因,以及可参考的解决办法. 不清晰的原因 保存的时候格式没有选好 图片的文字样式与保存的格式不对应 解决办法 原因1的解决办法   不建议的做法 建议的做法 存储格式 “.png”,“.jpg” “.emf” 原因2的解决办法 步骤一

随机推荐