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

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

?? d9r4.cpp

?? 這個(gè)是常用的數(shù)值算法用VC編寫的。相信對(duì)大家有用哦。
?? CPP
字號(hào):
#include "iostream.h"
#include "math.h"
#include "stdlib.h"
#include "string.h"

int sgn (double f)
{
	if (f>0)
	{
		return 1;
	}
	if (f<0)
	{
		return -1;
	}
	return 0;
}

void svbksb(double u[], double w[], double v[], int m, int n, double b[], double x[])
{
	int i,j,jj;
	double tmp[101];
	double s;
    for (j = 1; j<=n; j++)
	{
        s = 0.0;
        if (w[j] != 0.0)
		{
            for (i =1; i<=m; i++)
			{
                s = s + u[(i-1)*n+j] * b[i];
            }
            s = s / w[j];
        }
        tmp[j] = s;
    }
    for (j = 1; j<=n; j++)
	{
        s = 0.0;
        for (jj = 1; jj<=n; jj++)
		{
            s = s + v[(j-1)*n+jj] * tmp[jj];
        }
        x[j] = s;
    }
}

void svdcmp(double a[], int m, int n, double w[], double v[])
{
	int i,j,k,l,its,nm,aaaaa,pp;
    double rv1[100];
    if (m < n)
	{
		cout<<"you must augment a with extra zero rows."<<endl;
	}
    double x,y,z,c,f,h,s,g = 0.0;
    double scale1 = 0.0;
    double anorm = 0.0;
    for (i = 1; i<=n;i++)
	{
        l = i + 1;
        rv1[i] = scale1 * g;
        g = 0.0;
        s = 0.0;
        scale1 = 0.0;
        if (i <= m)
		{
            for (k = i; k<=m; k++)
			{
                scale1 = scale1 + fabs(a[(k-1)*n+i]);
            }
            if (scale1 != 0.0)
			{
                for (k = i; k<=m; k++)
				{
                    a[(k-1)*n+i] = a[(k-1)*n+i] / scale1;
                    s = s + a[(k-1)*n+i] * a[(k-1)*n+i];
                }
                f = a[(i-1)*n+i];
                g = -sqrt(s) * sgn(f);
                h = f * g - s;
                a[(i-1)*n+i] = f - g;
                if (i != n)
				{
                    for (j = l; j<=n; j++)
					{
                        s = 0.0;
                        for (k = i; k<=m; k++)
						{
                            s = s + a[(k-1)*n+i] * a[(k-1)*n+j];
                        }
                        f = s / h;
                        for (k = i; k<=m; k++)
						{
                            a[(k-1)*n+j] = a[(k-1)*n+j] + f * a[(k-1)*n+i];
                        }
					}
                }
                for (k = i; k<=m; k++)
				{
                    a[(k-1)*n+i] = scale1 * a[(k-1)*n+i];
                }
            }
        }
        w[i] = scale1 * g;
        g = 0.0;
        s = 0.0;
        scale1 = 0.0;
        if ((i <= m) && (i != n))
		{
            for (k = l; k<=n; k++)
			{
                scale1 = scale1 + fabs(a[(i-1)*n+k]);
            }
            if (scale1 != 0.0)
			{
                for (k = l; k<=n; k++)
				{
                    a[(i-1)*n+k] = a[(i-1)*n+k] / scale1;
                    s = s + a[(i-1)*n+k] * a[(i-1)*n+k];
                }
                f = a[(i-1)*n+l];
                g = -sqrt(s) * sgn(f);
                h = f * g - s;
                a[(i-1)*n+l] = f - g;
                for (k = l; k<=n; k++)
				{
                    rv1[k] = a[(i-1)*n+k] / h;
                }
                if (i != m)
				{
                    for (j = l; j<=m; j++)
					{
                        s = 0.0;
                        for (k = l; k<=n; k++)
						{
                            s = s + a[(j-1)*n+k] * a[(i-1)*n+k];
                        }
                        for (k = l; k<=n; k++)
						{
                            a[(j-1)*n+k] = a[(j-1)*n+k] + s * rv1[k];
						}
					}
                }
                for (k = l; k<=n; k++)
				{
                    a[(i-1)*n+k] = scale1 * a[(i-1)*n+k];
                }
            }
        }
        if (anorm > (fabs(w[i]) + fabs(rv1[i])))
		{
            anorm = anorm;
		}
        else
		{
            anorm = fabs(w[i]) + fabs(rv1[i]);
		}
    }
    for (i=n; i>=1; i--)
	{
        if (i < n)
		{
            if (g != 0.0)
			{
                for (j = l; j<=n; j++)
				{
                    v[(j-1)*n+i] = (a[(i-1)*n+j] / a[(i-1)*n+l]) / g;
                }
                for (j = l; j<=n; j++)
				{
                    s = 0.0;
                    for (k = l; k<=n; k++)
					{
                        s = s + a[(i-1)*n+k] * v[(k-1)*n+j];
                    }
                    for (k = l; k<=n; k++)
					{
                        v[(k-1)*n+j] = v[(k-1)*n+j] + s * v[(k-1)*n+i];
                    }
                }
            }
            for (j = l; j<=n; j++)
			{
                v[(i-1)*n+j] = 0.0;
                v[(j-1)*n+i] = 0.0;
            }
        }
        v[(i-1)*n+i] = 1.0;
        g = rv1[i];
        l = i;
    }
    for (i = n; i>=1; i--)
	{
        l = i + 1;
        g = w[i];
        if (i < n)
		{
            for (j = l; j<=n; j++)
			{
                a[(i-1)*n+j] = 0.0;
			}
        }
        if (g != 0.0)
		{
            g = 1.0 / g;
            if (i != n)
			{
                for (j = l; j<=n; j++)
				{
                    s = 0.0;
                    for (k = l; k<=m; k++)
					{
                        s = s + a[(k-1)*n+i] * a[(k-1)*n+j];
                    }
                    f = (s / a[(i-1)*n+i]) * g;
                    for (k = i; k<=m; k++)
					{
                        a[(k-1)*n+j] = a[(k-1)*n+j] + f * a[(k-1)*n+i];
                    }
                }
            }
            for (j= i; j<=m; j++)
			{
                a[(j-1)*n+i] = a[(j-1)*n+i] * g;
            }
		}
        else
		{
            for (j= i; j<=m; j++)
			{
                a[(j-1)*n+i] = 0.0;
            }
        }
        a[(i-1)*n+i] = a[(i-1)*n+i] + 1.0;
    }
    for (k = n; k>=1; k--)
	{
        for (its = 1; its<=30; its++)
		{
            for (l = k; l>=1; l--)
			{
                nm = l - 1;
                if (fabs(rv1[l]) + anorm == anorm)
				{
					goto r2;
				}
                if (fabs(w[nm]) + anorm == anorm)
				{
					goto r1;
				}
            }
			r1: c = 0.0;
            s = 1.0;
            for (i = l; i<=k; i++)
			{
                f = s * rv1[i];
                if (fabs(f) + anorm != anorm)
				{
                    g = w[i];
                    h = sqrt(f * f + g * g);
                    w[i] = h;
                    h = 1.0 / h;
                    c = (g * h);
                    s = -(f * h);
                    for (j = 1; j<=m; j++)
					{
                        y = a[(j-1)*n+nm];
                        z = a[(j-1)*n+i];
                        a[(j-1)*n+nm] = (y * c) + (z * s);
                        a[(j-1)*n+i] = -(y * s) + (z * c);
                    }
                }
            }
			r2:           z = w[k];
            if (l == k)
			{
                if (z < 0.0)
				{
                    w[k] = -z;
                    for (j = 1; j<=n; j++)
					{
                        v[(j-1)*n+k] = -v[(j-1)*n+k];
                    }
                }
                goto r3;
            }
            if (its == 30)
			{
				cout<< "no convergence in 30 iterations"<<endl;
			}
            x = w[l];
            nm = k - 1;
            y = w[nm];
            g = rv1[nm];
            h = rv1[k];
            f = ((y - z) * (y + z) + (g - h) * (g + h)) / (2.0 * h * y);
            g = sqrt(f * f + 1.0);
            f = ((x - z) * (x + z) + h * ((y / (f + fabs(g) * sgn(f))) - h)) / x;
            c = 1.0;
            s = 1.0;
            for (j = l; j<=nm; j++)
			{
                i = j + 1;
                g = rv1[i];
                y = w[i];
                h = s * g;
                g = g * c;
                z = sqrt(f * f + h * h);
                rv1[j] = z;
                c = f / z;
                s = h / z;
                f = (x * c) + (g * s);
                g = -(x * s) + (g * c);
                h = y * s;
                y = y * c;
                for (pp = 1; pp<=n; pp++)
				{
                    x = v[(pp-1)*n+j];
                    z = v[(pp-1)*n+i];
                    v[(pp-1)*n+j] = (x * c) + (z * s);
                    v[(pp-1)*n+i] = -(x * s) + (z * c);
                }
                z = sqrt(f * f + h * h);
                w[j] = z;
                if (z != 0.0)
				{
                    z = 1.0 / z;
                    c = f * z;
                    s = h * z;
                }
                f = (c * g) + (s * y);
                x = -(s * g) + (c * y);
                for (pp = 1; pp<=m; pp++)
				{
                    y = a[(pp-1)*n+j];
                    z = a[(pp-1)*n+i];
                    a[(pp-1)*n+j] = (y * c) + (z * s);
                    a[(pp-1)*n+i] = -(y * s) + (z * c);
                }
            }
            rv1[l] = 0.0;
            rv1[k] = f;
            w[k] = x;
        }
		r3:   aaaaa = 1;
    }
}

void fleg(double x, double pl[], int nl)
{
	pl[1] = 1.0;
	pl[2] = x;
	if (nl > 2)
	{
		double twox = 2.0 * x;
		double f2 = x;
		double d = 1.0;
		for (int j = 3; j<=nl; j++)
		{
			double f1 = d;
			f2 = f2 + twox;
			d = d + 1.0;
			pl[j] = (f2 * pl[j - 1] - f1 * pl[j - 2]) / d;
		}
	}
}

void fpoly(double x, double p[], int np)
{
	p[1] = 1.0;
	for (int j = 2; j<=np; j++)
	{
		p[j] = p[j - 1] * x;
	}
}

void svdfit(double x[], double y[], double sig[], int ndata, double a[],
			int ma, double u[], double v[], double w[], int mp, int np,
			double& chisq, char* funcs)
{
	int i, j;
    double thresh,tmp,tol = 0.00001;
    double b[1001], afunc[51];
    for (i = 1; i<=ndata; i++)
	{
        if (!strcmp(funcs,"fpoly"))
		{
			fpoly(x[i], afunc, ma);
		}
        if (!strcmp(funcs,"fleg"))
		{
			fleg(x[i], afunc, ma);
		}
        tmp = 1.0 / sig[i];
        for (j = 1; j<=ma; j++)
		{
            u[(i-1)*ma+j] = afunc[j] * tmp;
        }
        b[i] = y[i] * tmp;
    }
    svdcmp(u, ndata, ma, w, v);
    double wmax = 0.0;
    for (j = 1; j<=ma; j++)
	{
        if (w[j] > wmax)
		{
			wmax = w[j];
		}
    }
    thresh = tol * wmax;
    for (j = 1; j<=ma; j++)
	{
        if (w[j] < thresh)
		{
			w[j] = 0.0;
		}
    }
    svbksb(u, w, v, ndata, ma, b, a);
    chisq = 0.0;
    for (i = 1; i<=ndata; i++)
	{
        if (!strcmp(funcs,"fpoly"))
		{
			fpoly(x[i], afunc, ma);
		}
        if (!strcmp(funcs,"fleg"))
		{
			fleg(x[i], afunc, ma);
		}
        double sum1 = 0.0;
        for (j = 1; j<=ma; j++)
		{
            sum1 = sum1 + a[j] * afunc[j];
        }
        chisq = chisq + ((y[i] - sum1) / sig[i]) * ((y[i] - sum1) / sig[i]);
    }
}

void svdvar(double v[], int ma, int np, double w[], double cvm[], int ncvm)
{
	double wti[21];
	int i,j;
	for (i = 1; i<=ma; i++)
	{
		wti[i] = 0.0;
		if (w[i] != 0.0)
		{
			wti[i] = 1.0 / (w[i] * w[i]);
		}
	}
	for (i = 1; i<=ma; i++)
	{
		for (j = 1; j<=i; j++)
		{
			double sum1 = 0.0;
			for (int k = 1; k<=ma; k++)
			{
				sum1 = sum1 + v[(i-1)*np+k] * v[(j-1)*np+k] * wti[k];
			}
			cvm[(i-1)*ma+j] = sum1;
			cvm[(j-1)*ma+i] = sum1;
		}
	}
}

double ran1(long& idum)
{
    int j,iff=-1;
	static long ix1,ix2,ix3;
	static double r[98];
    long m1 = 259200; long m2 = 134456; long m3 = 243000;
	long ia1 = 7141; long ia2 = 8121; long ia3 = 4561;
	long ic1 = 54773; long ic2 = 28411; long ic3 = 51349;
	double rm1 = 0.0000038580247; double rm2 = 0.0000074373773;    
    if (idum < 0 || iff == 0)
	{
        iff = 1;
        ix1 = (ic1 - idum) % m1;
        ix1 = (ia1 * ix1 + ic1) % m1;
        ix2 = ix1 % m2;
        ix1 = (ia1 * ix1 + ic1) % m1;
        ix3 = ix1 % m3;
        for (j = 1; j<=97; j++)
		{
            ix1 = (ia1 * ix1 + ic1) % m1;
            ix2 = (ia2 * ix2 + ic2) % m2;
            r[j] = (double(ix1) + double(ix2) * rm2) * rm1;
        }
        idum = 1;
    }
    ix1 = (ia1 * ix1 + ic1) % m1;
    ix2 = (ia2 * ix2 + ic2) % m2;
    ix3 = (ia3 * ix3 + ic3) % m3;
    j = 1 + int((97 * ix3) / m3);
    if (j > 97 || j < 1)
	{
		cout<<"abnormal exit in ran1"<<endl;
		exit(1);
	}
	double temp=r[j];
    r[j] = (double(ix1) + double(ix2) * rm2) * rm1;
	return temp;
}

double gasdev(long& idum)
{
    static int iset;
	static double gset;
	double v1,v2,r,fac;
    if (iset == 0)
	{
		do
		{
			v1 = 2.0 * ran1(idum) - 1.0;
			v2 = 2.0 * ran1(idum) - 1.0;
			r = v1 * v1 + v2 * v2;
		}while (r >= 1.0 || r == 0);
		fac = sqrt(-2.0 * log(r) / r);
		gset = v1 * fac;
		iset = 1;
		return v2 * fac;
	}
    else
	{
		iset = 0;
		return gset;
    }
}

void main()
{
    //program d9r4
    //driver for routine svdfit
    int i,mp,np,npt = 100;
    double chisq;
	double spread = 0.02;
    int npol = 5;
    double x[101], y[101], sig[101], a[6], cvm[26];
    double u[501], v[26], w[6];
    //polynomial fit
    long idum = -911;
    mp = npt;
    np = npol;
    for (i = 1; i<=npt; i++)
	{
        x[i] = 0.02 * i;
        y[i] = 1.0 + x[i] * (2.0 + x[i] * (3.0 + x[i] * (4.0 + x[i] * 5.0)));
        y[i] = y[i] + spread * gasdev(idum);
		sig[i] = spread;
    }
    svdfit(x, y, sig, npt, a, npol, u, v, w, mp, np, chisq, "fpoly");
    svdvar(v, npol, np, w, cvm, npol);
    cout<<endl;
    cout<<"Polynomial fit"<<endl;
    cout<<endl;
	cout.setf(ios::fixed|ios::right);
	cout.precision(6);
    for (i = 1; i<=npol; i++)
	{
		cout.width(12);
		cout<<a[i]<<"      +-";
		cout.width(12);
        cout<<sqrt(cvm[(i-1)*npol+i])<<endl;
    }
    cout<<endl;
    cout<<"Chi-squared  ";
	cout<<chisq<<endl;
    svdfit(x, y, sig, npt, a, npol, u, v, w, mp, np, chisq, "fleg");
    svdvar(v, npol, np, w, cvm, npol);
    cout<<endl;
    cout<<"Legendre polynomial fit"<<endl;
    for (i = 1; i<=npol; i++)
	{
		cout.width(12);
		cout<<a[i]<<"      +-";
		cout.width(12);
        cout<<sqrt(cvm[(i-1)*npol+i])<<endl;
    }
    cout<<endl;
    cout<<"Chi-squared  "<<chisq<<endl;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产传媒欧美日韩成人| 精品盗摄一区二区三区| 91免费版在线| 成人丝袜视频网| 成人国产精品免费网站| 国产a级毛片一区| 成人a免费在线看| youjizz国产精品| 99久久综合狠狠综合久久| 国产69精品久久777的优势| 高潮精品一区videoshd| 国产成人精品影视| 成人毛片老司机大片| 成人免费av资源| 色综合久久综合网| 欧美性生交片4| 91精品国产全国免费观看| 欧美一级片在线| 久久久久国产精品人| 国产日韩欧美a| 国产精品不卡在线观看| 洋洋av久久久久久久一区| 日韩精品亚洲专区| 狠狠色丁香久久婷婷综合_中 | 亚洲欧美日韩一区| 亚洲激情第一区| 日韩在线一区二区| 精品一区二区三区的国产在线播放| 国精产品一区一区三区mba桃花| 国产精品99久久久久| 色婷婷久久久亚洲一区二区三区| 欧美性色欧美a在线播放| 日韩精品一区二区三区蜜臀| 国产午夜亚洲精品理论片色戒| 国产精品福利一区二区三区| 亚洲一二三区不卡| 久久精品国产99| 99re66热这里只有精品3直播| 91久久精品网| 精品国产一区二区在线观看| 中文字幕一区二区三区视频| 亚洲va欧美va人人爽| 国产精品综合二区| 成人永久看片免费视频天堂| 丁香五精品蜜臀久久久久99网站| 99国产精品国产精品久久| 91成人免费在线视频| 欧美精品 国产精品| 精品剧情在线观看| 中文字幕免费不卡在线| 亚洲乱码日产精品bd| 日韩精品一二三区| 国产成人8x视频一区二区| 国产在线一区观看| 91蜜桃婷婷狠狠久久综合9色| 欧美日韩高清一区二区| 精品福利av导航| 亚洲欧洲日韩综合一区二区| 亚洲小说春色综合另类电影| 久久国产精品99久久久久久老狼| 国产成人无遮挡在线视频| 色吊一区二区三区 | 欧美国产精品一区二区| 亚洲一区二区高清| 国产在线一区二区| 亚洲电影中文字幕在线观看| 久久综合综合久久综合| 亚洲欧美日韩人成在线播放| 欧美片网站yy| 国产成人av电影免费在线观看| 久久久电影一区二区三区| 国产精品青草综合久久久久99| 久久久青草青青国产亚洲免观| 亚洲六月丁香色婷婷综合久久 | 白白色 亚洲乱淫| 欧美丰满美乳xxx高潮www| 国产日本一区二区| 99久久精品一区二区| 欧美欧美午夜aⅴ在线观看| 国产欧美视频一区二区| 日韩激情一二三区| 91在线小视频| 久久综合狠狠综合久久综合88| 亚洲精品第一国产综合野| 国产精品123| 91精品国产综合久久香蕉麻豆| 中文一区二区在线观看| 免费日韩伦理电影| 99久久精品免费| 国产人妖乱国产精品人妖| 男人的天堂久久精品| 一本高清dvd不卡在线观看| www国产成人免费观看视频 深夜成人网| 亚洲天堂精品在线观看| 国产一区二区三区美女| 这里只有精品电影| 亚洲第一狼人社区| 成人精品在线视频观看| 7777精品伊人久久久大香线蕉最新版| 亚洲欧美日韩国产中文在线| 麻豆精品在线播放| 91精品国产色综合久久不卡电影| 亚洲欧美日韩人成在线播放| 亚洲一区二区三区美女| 日韩电影在线免费观看| 欧美在线免费视屏| 一区二区三区免费| 色综合天天视频在线观看| 中文字幕一区不卡| 国产999精品久久久久久绿帽| 欧美人牲a欧美精品| 亚洲超碰精品一区二区| 色综合天天狠狠| 亚洲欧美日韩国产一区二区三区 | 国产亚洲欧美中文| 一区二区三区资源| 99re在线精品| 亚洲欧美日韩小说| 91麻豆福利精品推荐| 亚洲欧美视频一区| 99九九99九九九视频精品| 国产精品天美传媒| 91亚洲永久精品| 亚洲天堂成人在线观看| voyeur盗摄精品| 亚洲精品欧美在线| 成人丝袜高跟foot| 国产精品嫩草影院com| 99久久久无码国产精品| 综合久久综合久久| 色婷婷综合久久久中文字幕| 亚洲精品乱码久久久久久日本蜜臀| www.亚洲免费av| 亚洲乱码日产精品bd| 欧美在线不卡视频| 日韩在线a电影| 精品国产露脸精彩对白| 国产91丝袜在线播放| 337p粉嫩大胆色噜噜噜噜亚洲| 日本午夜一区二区| 国产精品女同一区二区三区| youjizz久久| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美高清在线一区二区| 99热国产精品| 亚洲成人一区在线| 日韩欧美不卡在线观看视频| 国产精品资源在线观看| 国产精品水嫩水嫩| 在线亚洲一区二区| 奇米777欧美一区二区| 国产亚洲欧美一区在线观看| 99re6这里只有精品视频在线观看| 一区二区日韩电影| 日韩欧美电影一区| 韩国一区二区三区| 亚洲精品久久嫩草网站秘色| 91精品国产一区二区三区| 国产精品99久久久久久有的能看| 国产精品视频免费| 欧美日韩成人综合在线一区二区| 久久国产精品色| 国产精品盗摄一区二区三区| 欧美精选一区二区| 国产乱子轮精品视频| 亚洲黄色录像片| 欧美日韩三级视频| 成人伦理片在线| 午夜精品福利一区二区三区av | 国产美女精品在线| 国产欧美精品区一区二区三区| 色中色一区二区| 偷拍一区二区三区四区| 国产精品网站在线观看| 欧美在线视频全部完| 国产一区二区电影| 一区二区三区中文字幕| 欧美精品一区二区三区一线天视频| 成人免费av网站| 美女网站一区二区| 亚洲日本一区二区三区| 精品国产成人系列| 91视频在线观看| 成人动漫一区二区| 麻豆国产精品视频| 一区二区三区成人在线视频| 亚洲电影一区二区三区| 国产日本欧美一区二区| 日韩一区二区不卡| 欧美中文字幕一二三区视频| 国产精品综合av一区二区国产馆| 一区二区在线观看视频| 国产欧美综合在线| 日韩欧美综合一区| 欧美日韩综合色| 91蜜桃视频在线| 北条麻妃国产九九精品视频| 国产做a爰片久久毛片| 日韩和的一区二区| 一区二区在线观看免费视频播放 |