最近研究矩阵的特征向量和特征值,今天把矩阵的QR分解算是搞定了,明天在根据QR分解求矩阵特征值和特征向量。
程序如下:
/* 求矩阵的转置,col和row分别是被求矩阵pMatrix的列和行 */
void MatrixTranspose(float *pMatrix,UINT32 col,UINT32 row,float *pOut)
{
UINT32 i,j;
UINT32 n = 0;
for(i = 0; i < row; i++)
{
for(j = 0; j < col; j++)
{
pOut[j*3 + i] = pMatrix[j+n];
}
n += 3;
}
}
/* 矩阵乘法,目前仅限方阵 */
void MultiplyMatrixAxB(float *pMatrixA,float *pMatrixB,UINT32 col,float *pMatrixC)
{
UINT32 i,j,n;
float fSum = 0;
float fTemp = 0;
for(i = 0; i < col; i++)
{
for(n = 0; n < col; n++)
{
for(j = 0; j < col; j++)
{
fTemp = pMatrixA[i * col + j] * pMatrixB[j * col + n];
fSum += fTemp;
}
pMatrixC[i * col + n] = fSum;
fSum = 0;
}
}
}
仿真结果:
A'代表A的转置,C = A * B;
文章评论(0条评论)
登录后参与讨论