역행렬 연산/가우스 소거법...좀 도와주세요ㅠㅠㅠ
다니엘
가우스소거법을 이용한 역행렬 연산질문 요약 :주어진 함수를 호출하여 4*4행렬의 역행렬을 계산하면 됩니다!!질문 내용 :
// 과제.cpp : Defines the entry point for the console application.
//
#include stdio.h
int main()
{
double matrix_org[100], matrix_inv[100], matrix_test[100];
double *p_mat_org[100], *p_mat_inv[100], *p_mat_test[100];
int N_row, N _col, j, k, n, m;
N_row = N_col= 4;
for(j=0; jN_row*N_col; j++) matrix_org[j] = j+1;
for(j=0; JN_row; j++)
{
matrix_org[j] = matrix_org + j*N_col;
matrix_inv[j] = matrix_inv + j*N_col;
matrix_test[j] = matrix_test + j*N_col;
}
printf(\n Original matrix A: \n);
for(m=0; mN_row; m++)
{
for(n=0; nN_row; n++)printf(%f,,p_mat_org[m][n])
printf(\n)
}
k = matrix_inversion(matrix_org, N_row, N_col, matrix_inv);
if(k==0)
{
printf(\n The inverse matrix B: \n);
for(m=0; mN_row; m++)
{
for(n=0; nN_row; n++)printf(%f,,p_mat_org[m][n])
printf(\n)
}
//test
for(m=0; mN_row; m++)
{
for(n=0; nN_row; n++)
{
p_mat_test[m][n] = 0;
for( j=0; jN_row; j++)
p_mat_test[m][n] += p_mat_org[m][j]*p_mat_inv[j][n];
}
}
printf(\n A*B : \n);
for( m=0; mN_row; m++)
{
for(n=0; nN_row; n++)printf(%f,,p_mat_test[m][n])
printf(\n)
}
}
return 0;
}
이 함수를 호출하여 4*4행렬의 역행렬을 구해주세요..ㅠㅠ빨리 부탁드립니다!!