亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? aa.cpp

?? 直線擬合的幾種算法
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// aa.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "math.h"
#include "stdlib.h"


const int numbers = 9;

double* xxx = NULL;
double* yyy = NULL;

void dngins(int m,int n,double x[],double *p);
void dnginf(int m,int n,double x[],double d[]);
int dngin(int m,int n,double eps1,double eps2,double *x,int ka); 
void dngins2(int m,int n,double x[],double *p);
void dnginf2(int m,int n,double x[],double d[]);
int dngin2(int m,int n,double eps1,double eps2,double *x,int ka); 
int agmiv(double *a,int m,int n,double *b,double *x,double *aa,double eps,double *u,double *v,int ka);
int bginv(double *a,int m,int n,double *aa,double eps,double *u,double *v,int ka);
int bmuav(double *a,int m,int n,double *u,double *v,double eps,int ka);

///////////////////////////////////////////////////////////////////////////////////////
int bginv(double *a, int m, int n, double *aa, double eps, double *u, double *v, int ka)
{
	//函數(shù)介紹:求廣義逆的奇異值分解法;(被int agmiv()調(diào)用)
	//a:m*n階實矩陣A,返回時對角線給出奇異值,其余元素為0;m、n:行列數(shù);
	//u,v:二維數(shù)組,返回時分別存放左,右奇異向量;
	//eps:給定的精度要求;ka=max(m,n)+1
	int i,j,k,l,t,p,q,f;
    i=bmuav(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);
}

int agmiv(double *a, int m, int n, double *b, double *x, double *aa, double eps, double *u, double *v, int ka)
{
	//函數(shù)介紹:一般矩陣的奇異值分解;(被int bginv()調(diào)用)
	//a:m*n階實矩陣A,返回時對角線給出奇異值,其余元素為0;m、n:行列數(shù);
	//u,v:二維數(shù)組,返回時分別存放左,右奇異向量;
	//eps:給定的精度要求;ka=max(m,n)+1
	int i,j;
    i=bginv(a,m,n,aa,eps,u,v,ka);
	if (i<0) return(-1);
    for (i=0; i<=n-1; i++)
	{ x[i]=0.0;
	for (j=0; j<=m-1; j++)
		x[i]=x[i]+aa[i*m+j]*b[j];
	}
    return(1);
}

static void ppp(double a[],double e[],double s[],double v[],int m,int n)
{
	//函數(shù)介紹:被bmuav()調(diào)用的函數(shù):
	int i,j,p,q;
	double d;
	if (m>=n) 
		i=n;
    else i=m;
	
    for (j=1; j<=i-1; j++)
    { 
		a[(j-1)*n+j-1]=s[j-1];
        a[(j-1)*n+j]=e[j-1];
    }
    a[(i-1)*n+i-1]=s[i-1];
    if (m<n) 
		a[(i-1)*n+i]=e[i-1];
	for (i=1; i<=n-1; i++)
		for (j=i+1; j<=n; j++)
		{ 
			p=(i-1)*n+j-1; q=(j-1)*n+i-1;
			d=v[p]; v[p]=v[q]; v[q]=d;
		}
		return;
}

static void sss(double fg[2],double cs[2])
{
	//函數(shù)介紹:被bmuav()調(diào)用的函數(shù):
	double r,d;
    if ((fabs(fg[0])+fabs(fg[1]))==0.0)
    { 
		cs[0]=1.0; 
		cs[1]=0.0;
		d=0.0;
	}
    else 
    { 
		d=sqrt(fg[0]*fg[0]+fg[1]*fg[1]);
        if(fabs(fg[0])>fabs(fg[1]))
        { 
			d=fabs(d);
            if(fg[0]<0.0) d=-d;
        }
        if(fabs(fg[1])>=fabs(fg[0]))
        {
			d=fabs(d);
            if(fg[1]<0.0) d=-d;
        }
        cs[0]=fg[0]/d; cs[1]=fg[1]/d;
    }
    r=1.0;
    if(fabs(fg[0])>fabs(fg[1])) 
		r=cs[1];
    else if(cs[0]!=0.0) 
		r=1.0/cs[0];
    fg[0]=d;
	fg[1]=r;
    return;
}

int bmuav(double *a, int m, int n, double *u, double *v, double eps, int ka)
{
	//函數(shù)介紹:一般矩陣的奇異值分解;(被int bginv()調(diào)用)
	//a:m*n階實矩陣A,返回時對角線給出奇異值,其余元素為0;m、n:行列數(shù);
	//u,v:二維數(shù)組,返回時分別存放左,右奇異向量;
	//eps:給定的精度要求;ka=max(m,n)+1
	int i,j,k,l,it,ll,kk,ix,iy,mm,nn,iz,m1,ks;
    double d,dd,t,sm,sm1,em1,sk,ek,b,c,shh,fg[2],cs[2];
    double *s,*e,*w;
	
    s=(double *)malloc(ka*sizeof(double));
    e=(double *)malloc(ka*sizeof(double));
    w=(double *)malloc(ka*sizeof(double));
    it=60; k=n;
    if (m-1<n) k=m-1;
    l=m;
    if (n-2<m) l=n-2;
    if (l<0) l=0;
    ll=k;
    if (l>k) ll=l;
    if (ll>=1)
	{ for (kk=1; kk<=ll; kk++)
	{ if (kk<=k)
	{ d=0.0;
	for (i=kk; i<=m; i++)
	{ ix=(i-1)*n+kk-1; d=d+a[ix]*a[ix];}
	s[kk-1]=sqrt(d);
	if (s[kk-1]!=0.0)
	{ ix=(kk-1)*n+kk-1;
	if (a[ix]!=0.0)
	{ s[kk-1]=fabs(s[kk-1]);
	if (a[ix]<0.0) s[kk-1]=-s[kk-1];
	}
	for (i=kk; i<=m; i++)
	{ iy=(i-1)*n+kk-1;
	a[iy]=a[iy]/s[kk-1];
	}
	a[ix]=1.0+a[ix];
	}
	s[kk-1]=-s[kk-1];
	}
	if (n>=kk+1)
	{ for (j=kk+1; j<=n; j++)
	{ if ((kk<=k)&&(s[kk-1]!=0.0))
	{ d=0.0;
	for (i=kk; i<=m; i++)
	{ ix=(i-1)*n+kk-1;
	iy=(i-1)*n+j-1;
	d=d+a[ix]*a[iy];
	}
	d=-d/a[(kk-1)*n+kk-1];
	for (i=kk; i<=m; i++)
	{ ix=(i-1)*n+j-1;
	iy=(i-1)*n+kk-1;
	a[ix]=a[ix]+d*a[iy];
	}
	}
	e[j-1]=a[(kk-1)*n+j-1];
	}
	}
	if (kk<=k)
	{ for (i=kk; i<=m; i++)
	{ ix=(i-1)*m+kk-1; iy=(i-1)*n+kk-1;
	u[ix]=a[iy];
	}
	}
	if (kk<=l)
	{ d=0.0;
	for (i=kk+1; i<=n; i++)
		d=d+e[i-1]*e[i-1];
	e[kk-1]=sqrt(d);
	if (e[kk-1]!=0.0)
	{ if (e[kk]!=0.0)
	{ e[kk-1]=fabs(e[kk-1]);
	if (e[kk]<0.0) e[kk-1]=-e[kk-1];
	}
	for (i=kk+1; i<=n; i++)
		e[i-1]=e[i-1]/e[kk-1];
	e[kk]=1.0+e[kk];
	}
	e[kk-1]=-e[kk-1];
	if ((kk+1<=m)&&(e[kk-1]!=0.0))
	{ for (i=kk+1; i<=m; i++) w[i-1]=0.0;
	for (j=kk+1; j<=n; j++)
		for (i=kk+1; i<=m; i++)
			w[i-1]=w[i-1]+e[j-1]*a[(i-1)*n+j-1];
		for (j=kk+1; j<=n; j++)
			for (i=kk+1; i<=m; i++)
			{ ix=(i-1)*n+j-1;
			a[ix]=a[ix]-w[i-1]*e[j-1]/e[kk];
			}
	}
	for (i=kk+1; i<=n; i++)
		v[(i-1)*n+kk-1]=e[i-1];
	}
	}
	}
    mm=n;
    if (m+1<n) mm=m+1;
    if (k<n) s[k]=a[k*n+k];
    if (m<mm) s[mm-1]=0.0;
    if (l+1<mm) e[l]=a[l*n+mm-1];
    e[mm-1]=0.0;
    nn=m;
    if (m>n) nn=n;
    if (nn>=k+1)
	{ for (j=k+1; j<=nn; j++)
	{ for (i=1; i<=m; i++)
	u[(i-1)*m+j-1]=0.0;
	u[(j-1)*m+j-1]=1.0;
	}
	}
    if (k>=1)
	{ for (ll=1; ll<=k; ll++)
	{ kk=k-ll+1; iz=(kk-1)*m+kk-1;
	if (s[kk-1]!=0.0)
	{ if (nn>=kk+1)
	for (j=kk+1; j<=nn; j++)
	{ d=0.0;
	for (i=kk; i<=m; i++)
	{ ix=(i-1)*m+kk-1;
	iy=(i-1)*m+j-1;
	d=d+u[ix]*u[iy]/u[iz];
	}
	d=-d;
	for (i=kk; i<=m; i++)
	{ ix=(i-1)*m+j-1;
	iy=(i-1)*m+kk-1;
	u[ix]=u[ix]+d*u[iy];
	}
	}
	for (i=kk; i<=m; i++)
	{ ix=(i-1)*m+kk-1; u[ix]=-u[ix];}
	u[iz]=1.0+u[iz];
	if (kk-1>=1)
		for (i=1; i<=kk-1; i++)
			u[(i-1)*m+kk-1]=0.0;
	}
	else
	{ for (i=1; i<=m; i++)
	u[(i-1)*m+kk-1]=0.0;
	u[(kk-1)*m+kk-1]=1.0;
	}
	}
	}
    for (ll=1; ll<=n; ll++)
	{ kk=n-ll+1; iz=kk*n+kk-1;
	if ((kk<=l)&&(e[kk-1]!=0.0))
	{ for (j=kk+1; j<=n; j++)
	{ d=0.0;
	for (i=kk+1; i<=n; i++)
	{ ix=(i-1)*n+kk-1; iy=(i-1)*n+j-1;
	d=d+v[ix]*v[iy]/v[iz];
	}
	d=-d;
	for (i=kk+1; i<=n; i++)
	{ ix=(i-1)*n+j-1; iy=(i-1)*n+kk-1;
	v[ix]=v[ix]+d*v[iy];
	}
	}
	}
	for (i=1; i<=n; i++)
		v[(i-1)*n+kk-1]=0.0;
	v[iz-n]=1.0;
	}
    for (i=1; i<=m; i++)
		for (j=1; j<=n; j++)
			a[(i-1)*n+j-1]=0.0;
		m1=mm; it=60;
		while (1==1)
		{ if (mm==0)
		{ ppp(a,e,s,v,m,n);
		free(s); free(e); free(w); return(1);
		}
        if (it==0)
		{ ppp(a,e,s,v,m,n);
		free(s); free(e); free(w); return(-1);
		}
        kk=mm-1;
		while ((kk!=0)&&(fabs(e[kk-1])!=0.0))
		{ d=fabs(s[kk-1])+fabs(s[kk]);
		dd=fabs(e[kk-1]);
		if (dd>eps*d) kk=kk-1;
		else e[kk-1]=0.0;
		}
        if (kk==mm-1)
		{ kk=kk+1;
		if (s[kk-1]<0.0)
		{ s[kk-1]=-s[kk-1];
		for (i=1; i<=n; i++)
		{ ix=(i-1)*n+kk-1; v[ix]=-v[ix];}
		}
		while ((kk!=m1)&&(s[kk-1]<s[kk]))
		{ d=s[kk-1]; s[kk-1]=s[kk]; s[kk]=d;
		if (kk<n)
			for (i=1; i<=n; i++)
			{ ix=(i-1)*n+kk-1; iy=(i-1)*n+kk;
			d=v[ix]; v[ix]=v[iy]; v[iy]=d;
			}
			if (kk<m)
				for (i=1; i<=m; i++)
				{ ix=(i-1)*m+kk-1; iy=(i-1)*m+kk;
				d=u[ix]; u[ix]=u[iy]; u[iy]=d;
				}
                kk=kk+1;
		}
		it=60;
		mm=mm-1;
		}
        else
		{ ks=mm;
		while ((ks>kk)&&(fabs(s[ks-1])!=0.0))
		{ d=0.0;
		if (ks!=mm) d=d+fabs(e[ks-1]);
		if (ks!=kk+1) d=d+fabs(e[ks-2]);
		dd=fabs(s[ks-1]);
		if (dd>eps*d) ks=ks-1;
		else s[ks-1]=0.0;
		}
		if (ks==kk)
		{ kk=kk+1;
		d=fabs(s[mm-1]);
		t=fabs(s[mm-2]);
		if (t>d) d=t;
		t=fabs(e[mm-2]);
		if (t>d) d=t;
		t=fabs(s[kk-1]);
		if (t>d) d=t;
		t=fabs(e[kk-1]);
		if (t>d) d=t;
		sm=s[mm-1]/d; sm1=s[mm-2]/d;
		em1=e[mm-2]/d;
		sk=s[kk-1]/d; ek=e[kk-1]/d;
		b=((sm1+sm)*(sm1-sm)+em1*em1)/2.0;
		c=sm*em1; c=c*c; shh=0.0;
		if ((b!=0.0)||(c!=0.0))
		{ shh=sqrt(b*b+c);
		if (b<0.0) shh=-shh;
		shh=c/(b+shh);
		}
		fg[0]=(sk+sm)*(sk-sm)-shh;
		fg[1]=sk*ek;
		for (i=kk; i<=mm-1; i++)
		{ sss(fg,cs);
		if (i!=kk) e[i-2]=fg[0];
		fg[0]=cs[0]*s[i-1]+cs[1]*e[i-1];
		e[i-1]=cs[0]*e[i-1]-cs[1]*s[i-1];
		fg[1]=cs[1]*s[i];
		s[i]=cs[0]*s[i];
		if ((cs[0]!=1.0)||(cs[1]!=0.0))
			for (j=1; j<=n; j++)
			{ ix=(j-1)*n+i-1;
			iy=(j-1)*n+i;
			d=cs[0]*v[ix]+cs[1]*v[iy];
			v[iy]=-cs[1]*v[ix]+cs[0]*v[iy];
			v[ix]=d;
			}
			sss(fg,cs);
			s[i-1]=fg[0];
			fg[0]=cs[0]*e[i-1]+cs[1]*s[i];
			s[i]=-cs[1]*e[i-1]+cs[0]*s[i];
			fg[1]=cs[1]*e[i];
			e[i]=cs[0]*e[i];
			if (i<m)
				if ((cs[0]!=1.0)||(cs[1]!=0.0))
					for (j=1; j<=m; j++)
					{ ix=(j-1)*m+i-1;
					iy=(j-1)*m+i;
					d=cs[0]*u[ix]+cs[1]*u[iy];
					u[iy]=-cs[1]*u[ix]+cs[0]*u[iy];
					u[ix]=d;
					}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日产精品一区| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲欧洲三级电影| 国产在线视视频有精品| 欧美成人r级一区二区三区| 蜜桃在线一区二区三区| 日韩精品一区二区三区视频播放| 日本不卡免费在线视频| 日韩精品一区二区三区中文精品| 免费av成人在线| 欧美va亚洲va| 国产一区亚洲一区| 久久精品日产第一区二区三区高清版 | 欧美片在线播放| 亚洲成人你懂的| 91麻豆精品国产91久久久| 日本午夜精品视频在线观看| 精品免费日韩av| 成人污视频在线观看| 成人欧美一区二区三区小说 | 久久丝袜美腿综合| 成人app下载| 亚洲电影视频在线| 久久精品视频一区二区| 在线观看视频一区二区欧美日韩| 日本一道高清亚洲日美韩| 欧美v日韩v国产v| 色综合婷婷久久| 蜜臀av国产精品久久久久| 国产精品视频在线看| 欧美亚洲高清一区| 国产一区二区三区电影在线观看| ●精品国产综合乱码久久久久| 欧美日韩高清一区二区三区| 国产麻豆一精品一av一免费| 亚洲人吸女人奶水| 欧美videos大乳护士334| 色婷婷久久久久swag精品| 久久精品国产澳门| 亚洲精品国产第一综合99久久 | 欧美一区二区三区四区视频| 成人午夜短视频| 日韩成人午夜精品| 最新久久zyz资源站| 欧美一区二区女人| 色综合欧美在线| 国产做a爰片久久毛片| 亚洲一区二区在线播放相泽| 国产欧美一区二区三区网站| 欧美理论在线播放| 99久久综合国产精品| 麻豆精品久久精品色综合| 亚洲欧洲综合另类在线| 国产亚洲人成网站| 91精品国产欧美一区二区成人| 成人免费看视频| 国产在线视频一区二区| 日韩国产精品久久| 亚洲国产一区二区视频| 中文字幕一区二区三中文字幕| 久久综合资源网| 日韩三级视频在线观看| 欧美日韩国产成人在线免费| 日本韩国一区二区三区| 福利电影一区二区| 国产一区二区在线观看视频| 人禽交欧美网站| 一区二区成人在线视频| 自拍偷拍国产精品| 日韩理论片中文av| 亚洲欧美国产77777| 日韩码欧中文字| 一色屋精品亚洲香蕉网站| 国产欧美综合在线观看第十页| 欧美精品一区二区精品网| 日韩一卡二卡三卡国产欧美| 在线不卡欧美精品一区二区三区| 欧洲国内综合视频| 欧洲生活片亚洲生活在线观看| 91麻豆国产精品久久| 99久久免费精品高清特色大片| 成人国产精品免费观看视频| 成人免费视频国产在线观看| av影院午夜一区| 99麻豆久久久国产精品免费优播| 成人高清视频免费观看| 91小宝寻花一区二区三区| 91在线观看视频| 91国在线观看| 欧美精品xxxxbbbb| 欧美一区二区免费观在线| 精品成人一区二区| 国产欧美日韩视频一区二区| 国产精品欧美久久久久无广告| 国产精品久久久久久久午夜片| 中文字幕精品三区| 亚洲欧美日韩国产手机在线 | 欧美日韩亚洲综合一区| 欧美日韩精品一区二区三区四区 | av午夜一区麻豆| 欧美在线看片a免费观看| 在线观看91av| 久久久不卡影院| 中文字幕一区二区视频| 亚洲成人在线网站| 精品一区二区三区日韩| 粉嫩aⅴ一区二区三区四区五区| 99精品久久只有精品| 欧美三级日韩三级国产三级| 欧美一个色资源| 国产喷白浆一区二区三区| 亚洲激情在线播放| 麻豆国产精品777777在线| 国产成人免费高清| 欧美性感一区二区三区| 欧美videos大乳护士334| 国产精品乱人伦一区二区| 亚洲国产一区视频| 国产成人午夜视频| 欧亚洲嫩模精品一区三区| 26uuu亚洲| 亚洲综合一区二区精品导航| 国产专区综合网| 欧美中文一区二区三区| www国产成人免费观看视频 深夜成人网| 国产精品免费视频网站| 日本不卡免费在线视频| 92精品国产成人观看免费 | 色综合天天在线| 日韩欧美中文一区二区| 亚洲视频免费观看| 久久99热狠狠色一区二区| 色婷婷精品久久二区二区蜜臀av | 国产欧美精品一区二区三区四区 | www.成人网.com| 欧美一级搡bbbb搡bbbb| 最新成人av在线| 国产乱码精品一区二区三区av| 欧亚一区二区三区| 中文字幕在线不卡国产视频| 黄色成人免费在线| 欧美另类变人与禽xxxxx| 亚洲日本护士毛茸茸| 国产成人精品影院| 精品久久久久一区| 香蕉av福利精品导航| 91网上在线视频| 国产清纯白嫩初高生在线观看91 | 国产欧美日韩综合| 久久国产精品色| 欧美日韩国产欧美日美国产精品| 国产精品久久久久影院| 国产一区二区三区综合| 欧美一区二区三区在线看| 亚洲最大色网站| 91免费国产视频网站| 国产亚洲1区2区3区| 精品在线免费观看| 日韩欧美国产综合一区| 性欧美大战久久久久久久久| 一本一道波多野结衣一区二区| 国产欧美日韩麻豆91| 国产精品一二三四| 欧美电视剧免费观看| 麻豆精品视频在线观看| 日韩情涩欧美日韩视频| 人人爽香蕉精品| 日韩午夜激情免费电影| 日本欧美在线看| 欧美电视剧在线观看完整版| 裸体一区二区三区| 欧美成人伊人久久综合网| 奇米色一区二区| 日韩欧美国产麻豆| 国产剧情在线观看一区二区| 久久综合九色综合欧美就去吻| 久99久精品视频免费观看| 久久久精品日韩欧美| 国产精品羞羞答答xxdd| 欧美国产日韩a欧美在线观看| 国产69精品久久99不卡| 国产精品国产精品国产专区不蜜| av激情综合网| 一区二区三区色| 欧美性猛交xxxxxxxx| 日韩电影在线看| 欧美精品一区二区三区四区| 岛国一区二区在线观看| 亚洲视频在线一区二区| 欧美午夜精品一区二区三区| 午夜精品久久久久久久99樱桃| 日韩欧美自拍偷拍| 成人免费视频一区| 亚洲成在线观看| 精品国产亚洲一区二区三区在线观看| 国产乱国产乱300精品| 亚洲少妇中出一区| 666欧美在线视频| 国产电影一区二区三区| 一区二区三区免费在线观看|