lud_sample.c

来自「lu decomposition lu&#48516 &#54644 &#4」· C语言 代码 · 共 36 行

C
36
字号

#include <stdio.h>
#include "nr.h"
#include "nrutil.h"

int main(void)
{
	int i,j,*ind;
	float **amat;
	float *bmat;
	float d;
	
	amat=matrix(1,3,1,3);
	bmat=vector(1,3);
	ind =ivector(1,3);
	amat[1][1]=10.0;amat[1][2]= 2.0;amat[1][3]=-1.0;
	amat[2][1]= 3.0;amat[2][2]=-6.0;amat[2][3]= 2.0;
	amat[3][1]= 1.0;amat[3][2]= 1.0;amat[3][3]= 5.0;
	bmat[1]=27;
	bmat[2]=61.5;
	bmat[3]=21.5;
	
	ludcmp(amat,3,ind,&d);
	lubksb(amat,3,ind,bmat);
	
	printf("%f\n",d);
	for(i=1;i<=3;i++){
	   printf("%f %f %f -> %f\n",amat[i][1],amat[i][2],amat[i][3], bmat[i]);
	}
	
	free_matrix(amat,1,3,1,3);
	free_vector(bmat,1,3);
	free_ivector(ind,1,3);
   	
   return 0; /* ok */
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?