main.c

来自「这是一个用于矩阵QR分解的程序」· C语言 代码 · 共 74 行

C
74
字号
#include <math.h>
#include <stdio.h>
#include "divQR.h"

#define ROW 5  //行
#define	COL	4  //列

void main()
{
	int success_flag;
	int i,j,k;
	double tempt;
	
	double a[ROW*COL]={
					1.0,1.0,-1.0,0,
					2.0,1.0,0.0,0,
					1.0,-1.0,0.0,0,
					-1.0,2.0,1.0,1,
					0,0,0,1
				};
	double q[ROW*ROW];
	double r[ROW*COL];
	double aqr[ROW*COL];
	

	success_flag=qr(a,ROW,COL,q,r);
	if(success_flag)
	{
		printf(" Q is:\n");
		for(i=0;i<ROW;i++)
		{
			for(j=0;j<ROW;j++)
			{
				printf("%e ",q[i*ROW+j]);
			}
			printf("\n");
		}

	   printf(" R is:\n");
		for(i=0;i<ROW;i++)
		{
			for(j=0;j<COL;j++)
			{
				printf("%e ",r[i*COL+j]);
			}
			printf("\n");
		}
	}
//aqr
    for(i=0;i<ROW;i++)
	{
		for(j=0;j<COL;j++)
		{   
			tempt=0;
            for(k=0;k<ROW;k++)
			{
				tempt=tempt+q[i*ROW+k]*r[k*COL+j];
			}
			aqr[i*COL+j]=tempt;
		}
	}

 printf(" aqr is:\n");
		for(i=0;i<ROW;i++)
		{
			for(j=0;j<COL;j++)
			{
				printf("%e ",aqr[i*COL+j]);
			}
			printf("\n");
		}
}

⌨️ 快捷键说明

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