0
기본 행렬을 사용하여 행렬을 위 삼각형 (또는 삼각형 행렬)으로 변환 한 다음 대각 원소를 곱하여 주어진 비 고유 행렬의 행렬식을 찾으려고합니다. 저는 C 프로그래밍의 초보자이며 비 특이 행렬의 행렬식을 계산하기위한 다음 코드를 작성했습니다. 코드는C에서 기본 변환을 사용하여 비특이적 행렬 (n * n)의 행렬식을 계산하는 방법.
#include<stdio.h>
#include<math.h>
void main()
{
int i,j,k,r;
float mat[20][20],temp,diag=1;
printf("enter the order of the square matrix\n\n");
scanf("%d",&r);
for(i=0;i<r;i++)
{
for(j=0;j<r;j++)
{
printf("enter the (%d , %d)th entry",i+1,j+1);
scanf("%f",&mat[i][j]);
}
}
printf("The matrix we have entered is\n\n ");
for(i=0;i<r;i++)
{
for(j=0;j<r;j++)
{
printf("\t%f",mat[i][j]);
}
printf("\n");
}
for(i=0;i<r-1;i++)
{
for(j=i+1;j<r;j++)
{
temp=mat[j][i]/mat[i][i];
for(k=0;k<r;k++)
{
mat[j][k]=mat[j][k]-temp*mat[i][k];
}
}
}
for(i=0;i<r;i++)
{
diag=diag*mat[i][i];
}
printf("\n\nThe value of the determinant is %f",diag);
}
이가 (1,1) 번째 요소로 제로 (즉, 최초의 대각선 요소)를 가지고있는 것을 제외하고는 비 특이 행렬 잘 작동이 .I이 이해할 수있는이 이런 일 때문에 내
temp=mat[j][i]/mat[i][i];
이 코드는 그것이 내 목적을 달성하기 위해 내 프로그램을 편집 할 수 있습니다 비 단수 matrix.How 동안 실행되도록 프로그램을 변경하는 몇 가지 방법이 있어야 determinant.So을 계산에 필요한 code.But ? 당신의 도움을 주셔서 감사합니다.
[당신이 시도 무엇?] (http://whathaveyoutried.com) –
[블라스 (http://en.wikipedia.org에서 촬영 :이 코드를 유용을 찾을 수 있습니다/wiki/Basic_Linear_Algebra_Subprograms) –
숫자 조리법보기 : http://nr.com –