标签:this pos get nbsp code one 一个 矩阵 his
本节介绍矩阵的转置。矩阵的转置即将矩阵的行和列元素调换,即原来第二行第一列(用C21表示,后同)与第一行第二列(C12)元素调换位置,原来c31与C13调换。即cij与cji调换 。
(此处补图说明)
首先我们想到的是把第i行第j列取出来与第j行第i列调换,这种思路很简单就不多说了。
这里提供另一个思路,对整行整列进行操作,方法如下:
template <typename T> Matrix<T> Matrix<T>::transpose() { Matrix<T> tempMatrix; vector<T> tempVec; /*get transpose*/ for(int i=0;i<m_iColumns;i++) { this->getSpecifiedRow(i,&tempVec); tempMatrix.addOneColumToBack(tempVec); } /*swap rows and columns*/ m_vecMatrix = tempMatrix.m_vecMatrix; int temp = m_iColumns; m_iColumns = m_iRows; m_iRows = temp; return tempMatrix; }
标签:this pos get nbsp code one 一个 矩阵 his
原文地址:http://www.cnblogs.com/HongYi-Liang/p/7287495.html