在MATLAB中使用转置与ctranspose在MATLAB中转置向量/矩阵时,我已经看到并使用了'(撇号)运算符很长一段时间。例如:>> v = [ 1 2 3 ]'v =
1
2
3然而,这是我最近发现的共轭转置,或者ctranspose。这似乎只涉及涉及复杂数字的情况,如果您想要转换矩阵而不获取共轭,则需要使用.'opertator。那么使用.'真实矩阵和向量是否是好习惯?我们应该怎样教MATLAB初学者
3 回答
婷婷同学_
TA贡献1844条经验 获得超8个赞
我非常偏见:我使用的大多数情况'
都是纯粹的“正式”,也与数学计算无关。我很可能想要将索引序列的矢量旋转1:10
90度。
我罕使用'
到矩阵,因为它是不明确的,为什么要进行转置你已经回答了第一个问题是- ?
如果矩阵最初是在错误的方向上定义的,我宁愿将矩阵定义为正确的矩阵,但之后不要将其转动。
为了转置矩阵进行数学计算,我明确地使用transpose
和ctranspose
。因为通过这样做,代码更容易阅读(不必专注于那些小点)和调试(不必关心丢失的点)。像往常一样执行以下作业,例如点积。
万千封印
TA贡献1891条经验 获得超3个赞
这实际上是许多MATLAB程序员争论的主题。有人说,如果你知道自己在做什么,那么你可以继续使用,'
如果你知道你的数据是纯粹的,并且.'
如果你的数据很复杂就可以使用。然而,有些人(比如Luis Mendo)主张你应该一直使用这一事实,.'
这样你就不会感到困惑。
这样就可以正确处理函数输入,以防输入这些函数所需的数据变得复杂。有一段时间需要复杂的换位,例如计算复矢量的幅度平方。事实上,Loren Shure在她的一个MATLAB摘要中(我记不清哪一个......)说这是引入复杂转置的原因之一。
我的建议是,.'
如果您的目标是转置数据,则应始终使用。如果你想要做一些复杂的运算,然后使用'
和.'
依赖于何种操作/计算你在干什么。显然,Luis Mendo的良好做法已经让我感到震惊。
添加回答
举报
0/150
提交
取消