矩阵主对角线变化

时间:2015-03-28 19:31:07

标签: matlab

我的矩阵如下:a=

1  2
1  2

我想将其转换为:b=

1  1
2  2

我尝试使用diag(a)的输出,但我不知道如何连接两次相同的输出。

2 个答案:

答案 0 :(得分:1)

您只需转置矩阵b=transpose(a);

即可

答案 1 :(得分:1)

看起来你正在交换反对角元素。另一种方法,而不是使用转置只是做索引:

a([2 3]) = a([3 2]);

上述代码的工作原理是您可以使用列主线性索引访问矩阵中的元素。这意味着您从上到下,从左到右遍历矩阵。因此,我们希望通过索引2访问第二行第一列,然后通过索引3访问第一行第二列。您所要做的就是交换两个值,其中左侧索引是右侧的反向指数。

相关问题