svdqj.c

来自「由c语言编写的解非线性方程」· C语言 代码 · 共 25 行

C
25
字号
#include"svdcmp.c"
int  ginv(double a[],int m,int n,double aa[],double eps,double u[],double v[],int ka)
{
	int i,j,k,l,t,p,q,f;
	i=muav(a,m,n,u,v,eps,ka);
	if(i<0) return(-1);
	j=n;
	if(m<n) j=m;
	j=j-1;
	k=0;
	while((k<=j)&&(a[k*n+k]!=0.0)) k=k+1;
	k=k-1;
	for(i=0;i<=n-1;i++)
		for(j=0;j<=m-1;j++)
		{
			t=i*m+j;
			aa[t]=0.0;
			for(l=0;l<=k;l++)
			{
				f=l*n+i;p=j*m+l;q=l*n+l;
				aa[t]=aa[t]+v[f]*u[p]/a[q];
			}
		}
		return(1);
}

⌨️ 快捷键说明

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