葛成功之路 2019-11-26 21:54 采纳率: 77.8%
浏览 835
已采纳

请问能指点一下矩阵转置和矩阵相加吗?

我对矩阵的输入输出以及加减乘,转置,旋转的原理有些不明白,希望可以得到解答,谢谢!

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-11-27 07:14
    关注
    矩阵用二维数组表示,比如
    int mat[2][2];
    输入
    for (int i = 0; i < 2; i++)
    for (int j = 0; j < 2; j++)
    scanf("%d", &mat[i][j]);
    输出
    for (int i = 0; i < 2; i++)
    {
        for (int j = 0; j < 2; j++)
            printf("%d ", mat[i][j]);
        printf("\n");
    }
    
    运算:
    用例子来说:
    加
    1 2
    3 4
    +
    3 5
    1 2
    =
    4 7
    4 6
    也就是相同位置的两个数字相加
    减一样,因为你把第二个矩阵每个数字取负号,它其实也是+
    
    乘法分为点乘和叉乘。
    点乘就是对应位置乘,
    1 2
    3 4
    .
    3 5
    1 2
    =
    3 10
    3 8
    
    叉乘(也叫做矩阵乘法)
    第1个矩阵第m行x第2个矩阵第n列得到结果的和得到第m行第n个值。
    
    1 2
    3 4
    x
    3 5
    1 2
    =
    5 9
    13 23
    也就是
    (1*3)+(2*1)  (1*5)+(2*2)
    (3*3)+(4*1)  (3*5)+(4*2)
    
    转置就是旋转90度(行变列)
    T
    1 2
    3 4
    就是
    1 3
    2 4
    代码实现:
    https://blog.csdn.net/zjxxyz123/article/details/79049579
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?