【发布时间】:2017-04-17 15:43:32
【问题描述】:
我是 matlab 新手,我的问题是我正在尝试实现共轭矩阵转置函数 ('),但我不知道如何仅更改虚数中的符号。我知道这可能是个愚蠢的问题,但感谢您提供任何提示和建议。
我尝试了类似的方法,但出现以下错误:
错误:复杂矩阵类型作为索引值无效
-
错误:赋值失败,或者'=矩阵'没有方法
function [ result ] = transpose_matrix( a ) [Row,Col] = size(a); result = zeros(Col, Row); iY=1; for iRow=1:Row iX=iRow; for iCol=1:Col result(iX)=a(iY); iX=iX+Row; iY=iY+1; end end imag(result)=imag(result)*-1; end
【问题讨论】:
-
你为什么要自己实现转置?
b = a';为您提供共轭转置。b = a.';为您提供非共轭转置。b = conj(a);为您提供复共轭而无需转置。您使用for循环而不是内置操作实现的任何操作在 Matlab 中都非常慢。 -
只是为了练习
标签: arrays matlab matrix transpose