精华内容
参与话题
问答
  • C++矩阵转置代码!
  • python 矩阵转置

    千次阅读 2016-06-23 15:13:56
    python 矩阵转置 zip()函数 map()函数

    把矩阵A的行换成相应的列,得到的新矩阵称为A的转置矩阵。

    本文使用python介绍2中矩阵转置的方法:

    1》使用列表解析

    matrix=[[1,2,3],[4,5,6],[7,8,9]]
    >>> [[row[columNumber] for row in matrix] for columNumber in range(len(matrix[0]))]
    [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

    2》使用zip( )函数和map( )函数

    >>> matrix
    [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    >>> zip(*matrix)
    [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
    >>> map(list,zip(*matrix))
    [[1, 4, 7], [2, 5, 8], [3, 6, 9]]


    友情链接:

    python列表解析,参考:Python列表解析

    zip()函数,参考: python zip( )函数

    map()函数,参考:python2 filter() map() reduce()函数基础


    (完)


    展开全文
  • 矩阵转置

    2019-11-13 11:55:12
    //矩阵转置 int b[3][3]; int main() { void h(int a[][3]); int a[3][3] = { {1,2,3},{4,5,6},{7,8,9} }; int i, j; h(a); for (i = 0; i <= 2; i++) {for (j = 0; j <= 2; j+...
    #include <stdio.h>
    //矩阵转置
    int b[3][3];
    int main()
    {
    	void h(int a[][3]);
    	int a[3][3] = { {1,2,3},{4,5,6},{7,8,9}  };
    	int i, j;
    	h(a);
    	
    	for (i = 0; i <= 2; i++)
    	{for (j = 0; j <= 2; j++)
    		
    			printf("%d ", b[i][j]);
    	printf("\n");
    		}
    	return 0;
    }
    
    void h(int a[][3])
    {
    	int i, j,t;
    
    	for(i=0;i<3;i++)
    		for (j = 0; j <3; j++)
    		{
    			b[i][j] = a[j][i];
    		}
    }
    
    
    展开全文
  • matlab 矩阵转置

    千次阅读 2017-10-16 17:06:24
    matlab 矩阵转置B = A’

    matlab 矩阵转置

    B = A’

    展开全文
  • 矩阵转置矩阵相乘

    万次阅读 2016-09-13 22:24:11
    1.转置矩阵1.1转置矩阵简介把矩阵A的行换成同序数的列得到的新矩阵,叫做A的转置矩阵(Transpose of a Matrix),记作ATA^T。 例如: 因此,转置矩阵的特点: (1)转置矩阵的行数是原矩阵的列数,转置矩阵的列数是...

    前言

    写这篇博客的原因是为了记录一下矩阵转置与矩阵相乘的实现代码,供日后不时之需。直接原因是今晚(2016.09.13)参加了百度 2017 校招的笔试(C++岗),里面就有一道矩阵转置后相乘的在线编程题。考虑到日后笔试可能会用到,特此记录,也希望能够帮助到需要的网友。

    今晚的百度笔试还有一个道求矩形方格中房子的数量,可以用类似于求迷宫中寻找可行路径的深度优先搜索(DFS)加回溯法来求解,幸好之前研究过迷宫问题并记录下来写成博客,要不然,又悲剧了,短时间内很难写出那么多代码!

    1.矩阵转置

    1.1 简介

    把矩阵 A 的行换成同序数的列得到的新矩阵,叫做 A 的转置矩阵(Transpose of a Matrix),记作 ATA^TAT

    例如:
    这里写图片描述
    因此,转置矩阵的特点:
    (1)转置矩阵的行数等于原矩阵的列数,转置矩阵的列数等于原矩阵的行数;
    (2)转置矩阵下标(i,j)的元素对应于原矩阵下标(j,i)的元素。

    1.2 实现

    使用二维数组作为矩阵的存储结构,根据转置矩阵的特点,很容易得到转置矩阵。

    /**************************************************
    *@para:matrix:原矩阵;row:矩阵行数;column:矩阵列数
    *@ret:返回转置矩阵
    **************************************************/
    int** getTransposeMatrix(int** matrix,int row,int column){
       int** matrixR=new int*[columns];
       for(int i=0;i<columns;++i){
            matrixR[i]=new int[rows];
       }
       
       for(int i=0;i<row;++i){
            for(int j=0;j<column;++j){
                matrixR[j][i]=matrix[i][j];
            }
       }
       return matrixR;
    }
    

    2.矩阵相乘

    2.1 简介

    设 A 为 m×pm\times pm×p 的矩阵,B 为 p×np\times np×n 的矩阵,那么称 m×nm\times nm×n 的矩阵 C 为矩阵 A 与 B 的乘积,记作 C=AB ,其中矩阵 C 中的第 i 行第 j 列元素可以表示为:
    这里写图片描述

    示例如下:
    这里写图片描述

    矩阵相乘的特点:
    (1)当矩阵 A 的列数等于矩阵 B 的行数时,A 与 B 才可以相乘。
    (2)乘积 C 的第 m 行第 n 列的元素等于矩阵 A 的第 m 行的元素与矩阵 B 的第 n 列对应元素乘积之和。
    (3)矩阵 C 的行数等于矩阵 A 的行数,C 的列数等于 B 的列数。

    2.2 示例代码

    /********************************************
    *@para:A:矩阵A;B:矩阵B;C:相乘结果矩阵;rowA:A的行数;columnB:B的列数;columnA:A的列数
    *@ret:void 
    ********************************************/
    void matrixMul(int **A, int **B, int **C, int rowA, int columnB, int columnA){
        for (int i=0;i<rowA;i++){
            for (int j=0; j<columnB;j++){
                C[i][j] = 0;
                for (int k=0;k<columnA;k++){
                    C[i][j]+=A[i][k]*B[k][j];
                }
             }
         }
    }
    

    参考文献

    [1] 转置矩阵 百度百科
    [2] 矩阵乘法 百度百科

    展开全文
  • 矩阵乘以其矩阵转置

    万次阅读 多人点赞 2018-08-27 20:47:11
    在推导公式和计算中,常常能碰到矩阵乘以其矩阵转置,在此做个总结。 1.假设矩阵A是一个 m∗nm∗nm*n 矩阵,那么 A∗ATA∗ATA*A^T 得到一个 m∗mm∗mm*m 矩阵,AT∗AAT∗AA^T*A 得到一个 n∗nn∗nn*n 的矩阵,这样...
  • 转置矩阵的一种算法,就像四则运算(即加、减、乘、除)那样的;它将矩阵的每一行变成列,那么原先的每一列就会变成行,简单点说就是行列互换。 【矩阵转置前后】 【易语言 - 矩阵转置算法】 (算法不...
  • //求转置矩阵 void Transpose2(double a[][MAXSIZE], double b[][MAXSIZE], int row, int col); void Transpose1to2(double a[MAXSIZE], double b[][MAXSIZE]); //显示矩阵 void displayMatrix(double a[][MAXSIZE]...
  • 矩阵的逆矩阵 和 转置矩阵

    千次阅读 2019-06-17 13:59:25
    这几天用到了逆矩阵,就在这里总结一下逆矩阵和转置矩阵。 逆矩阵 逆矩阵就是一个矩阵的逆向。比如一个点乘以一个矩阵后得到了一个新的点的位置,如果想通过这个点再获得矩阵转换前的位置,那我们就需要乘以这个矩阵...
  • 实现矩阵转置,可供用户使用方便快捷,大大减少了时间。
  • 稀疏矩阵转置矩阵转置和快速转置

    万次阅读 多人点赞 2018-06-23 19:43:52
    那么在对a.data中的三元组一次做转置时,便可直接放到b.data中恰当的位置上去。设两个向量:num和cpotnum[col]表示矩阵M中第col列中的非零元素个数。cpot[col]指M中第col列的第一个非零元在b.data中的恰当位置。有...
  • #include using namespace std; const int row = 2; const int column = 2; void PrintMatrix(int m[][column]); void ReverseMatrix(int matrix[][column]);...//求解释为什么矩阵转置不成功,还是原来的矩阵
  • 1知识点:线性时间复杂度实现稀疏矩阵转置 2方法: (1):通过三元组记录初始输入信息 (2):记录每一列的元素个数 (3):求得记录每一列的第一个元素应放置的转置三元组的位置 3反思: (1):记录的...
  • 稀疏矩阵转置

    2016-12-05 19:39:05
    稀疏矩阵转置
  • 转置矩阵

    千次阅读 2019-05-05 14:50:02
    给定一个矩阵 A , 返回 A 的转置矩阵。 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。 示例 1: 输入:[[1,2,3],[4,5,6],[7,8,9]] 输出:[[1,4,7],[2,5,8],[3,6,9]] 示例 2: 输入:[[1,2,...
  • 矩阵乘法和矩阵转置

    2018-10-27 16:20:06
    这是一个很简单的C语言小源代码,可以实现线代里的矩阵相乘和矩阵转置的功能,仅供新手参考

空空如也

1 2 3 4 5 ... 20
收藏数 11,060
精华内容 4,424
关键字:

转置