void KalmanFilter::getPPlus() { double** prod1 = productMatrix(A,P,3,3,3); double** tA = transposeMatrix(A,3,3); double** prod2 = productMatrix(prod1,tA,3,3,3); freeMatrix(P,3); P = addMatrix(prod2,Q,3,3); freeMatrix(prod1,3); freeMatrix(prod2,3); freeMatrix(tA,3); }
void KalmanFilter::getP(double** K) { double** tmp = productMatrix(K,H,3,3,2); double** subI = substractionIdMatrix(tmp,3); freeMatrix(tmp,3); tmp = productMatrix(subI,P,3,3,3); freeMatrix(P,3); freeMatrix(subI,3); P = tmp; }
void main() { int A[MAXROWS][MAXCOLS], B[MAXROWS][MAXCOLS], C[MAXROWS][MAXCOLS]; int M, N; /*Function declarations*/ void readMatrix(int arr[][MAXCOLS], int M, int N); void printMatrix(int arr[][MAXCOLS], int M, int N); void productMatrix(int A[][MAXCOLS], int B[][MAXCOLS], int C[][MAXCOLS], int M, int N); // clrscr(); printf("Enter the value of M and N\n"); scanf("%d %d",&M, &N); printf ("Enter matrix A\n"); readMatrix(A,M,N); printf("Matrix A\n"); printMatrix(A,M,N); printf ("Enter matrix B\n"); readMatrix(B,M,N); printf("Matrix B\n"); printMatrix(B,M,N); productMatrix(A,B,C, M,N); printf ("The product matrix is\n"); printMatrix(C,M,N); }