⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6.13 求解线性最小二乘问题的豪斯赫尔德变换法 gmqr.c

📁 许士良常用算法程序集C语言,包括c++一些常用算法代码
💻 C
字号:

#include "4maqr.c"
#include "stdlib.h"
int gmqr(a,m,n,b,q)
int m,n;
double a[],b[],q[];
{ 
	int i,j;
    double d,*c;
    int maqr(double [],int,int,double []);
    c=malloc(n*sizeof(double));
    i=maqr(a,m,n,q);
    if (i==0) { free(c); return(0);}
    for (i=0; i<=n-1; i++)
	{ 
		d=0.0;
		for (j=0; j<=m-1; j++)
			d=d+q[j*m+i]*b[j];
		c[i]=d;
	}
    b[n-1]=c[n-1]/a[n*n-1];
    for (i=n-2; i>=0; i--)
    { 
		d=0.0;
        for (j=i+1; j<=n-1; j++)
			d=d+a[i*n+j]*b[j];
        b[i]=(c[i]-d)/a[i*n+i];
    }
    free(c); 
	return(1);
}

⌨️ 快捷键说明

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