矩阵指数[乘法 - C代码]

时间:2017-12-13 21:52:47

标签: c matrix

我目前正在开发一个计算matrix exponential的函数。为此,我需要一个将X矩阵乘以n次的函数。下面的代码为n的小值提供了良好的结果,但是当增加此参数时,代码会产生错误的输出,可能是由于生成的数字很大。有没有解决方案或其他计算矩阵乘法的方法?

编辑:

  • 矩阵M是静态分配的。

代码:

void Multiply_Matrix_N_Times( double M[NL][NC], int L, int N )
{
double A[NL][NC];
double A_AUX[NL][NC];

int i, j;

for(i=0;i<L;i++)
{
    for(j=0;j<L;j++)
    {
        if(i==j)
            A[i][j]=1;
        else
            A[i][j]=0;
    }
}

for(i=1;i<=N;i++)
{
    Multiply_Matrices(A,M,A_AUX,L,L,L,L);
    Copy_Matrix(A_AUX,A,L,L);
}

//printMatrix_REAL(A,L,L);
//getchar();

Copy_Matrix(A,M,L,L);
}

0 个答案:

没有答案