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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? d15r1.cpp

?? 這個是常用的數值算法用VC編寫的。相信對大家有用哦。
?? CPP
字號:
#include "iostream.h"
#include "math.h"
#include "stdlib.h"

double c2, factr;
int m, n;

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

void lubksb(double a[], int n, int an,int indx[], double b[])
{
	int i,j,ll;
	double sum;
    int ii = 0;
    for (i = 1; i<=n; i++)
	{
        ll = indx[i];
        sum = b[ll];
        b[ll] = b[i];
        if (ii != 0 )
		{
            for (j = ii; j<=i-1; j++)
			{
                sum = sum - a[(i-1)*an+j] * b[j];
            }
		}
        else
		{
			if (sum != 0.0)
			{
				ii = i;
			}
        }
        b[i] = sum;
    }
    for (i = n; i>=1; i--)
	{
        sum = b[i];
        if (i < n)
		{
            for (j = i + 1; j<=n; j++)
			{
                sum = sum - a[(i-1)*an+j] * b[j];
            }
        }
        b[i] = sum / a[(i-1)*an+i];
    }
}

void ludcmp(double a[], int n, int an,int indx[], int& d)
{
	const int nmax=100;
	const double tiny=1e-20;
	double vv[100];
	double sum,dum,aamax;
	int i,j,k,imax;
	d=1;
	for (i=1; i<=n; i++)
	{
		aamax=0.0;
		for (j=1; j<=n;j++)
		{
			if (fabs(a[(i-1)*an+j])>aamax)
			{
				aamax=fabs(a[(i-1)*an+j]);
			}
		}
		if (aamax==0.0)
		{
			cout<<"singular matrix"<<endl;
		}
		vv[i]=1.0/aamax;
	}
	for (j=1; j<=n;j++)
	{
        if (j > 1)
		{
            for (i=1; i<=j-1;i++)
			{
                sum=a[(i-1)*an+j];
                if (i>1)
				{
                    for (int k=1; k<=i-1; k++)
					{
                        sum=sum-a[(i-1)*an+k]*a[(k-1)*an+j];
                    }
                    a[(i-1)*an+j]=sum;
                }
            }
        }
        aamax=0.0;
        for (i=j; i<=n; i++)
		{
            sum=a[(i-1)*an+j];
            if (j>1)
			{
                for (k=1; k<=j-1; k++)
				{
                    sum=sum-a[(i-1)*an+k]*a[(k-1)*an+j];
				}
                a[(i-1)*an+j]=sum;
            }
            dum=vv[i]*fabs(sum);
            if (dum>=aamax)
			{
                imax=i;
                aamax=dum;
            }
        }
        if (j!=imax)
		{
            for (k=1; k<=n; k++)
			{
                dum=a[(imax-1)*an+k];
                a[(imax-1)*an+k]=a[(j-1)*an+k];
                a[(j-1)*an+k]=dum;
            }
            d=-d;
            vv[imax]=vv[j];
        }
        indx[j]=imax;
        if (j!=n)
		{
            if (a[(j-1)*n+j]==0.0)
			{
				a[(j-1)*n+j]=tiny;
			}
            dum=1.0/a[(j-1)*an+j];
            for (i=j+1; i<=n; i++)
			{
                a[(i-1)*an+j]=a[(i-1)*an+j]*dum;
            }
		}
    }
    if (a[(n-1)*an+n]==0.0)
	{
		a[(n-1)*an+n]=tiny;
	}
}
void load(double x1, double v[], double y[])
{
	double dx=0;
    y[3] = v[1];
    y[2] = -(y[3] - c2) * factr / 2.0 / (m + 1.0);
    y[1] = factr + y[2] * dx;
    y[6] = v[2];
    y[5] = -(y[6] + c2) * factr / 2.0 / (m + 1.0);
    y[4] = factr + y[5] * dx;
}

void score(double x2, double y[], double f[])
{
    if (((n - m) % 2) == 0)
	{
        f[1] = y[2];
        f[2] = y[5];
	}
    else
	{
        f[1] = y[1];
        f[2] = y[4];
	}
}

void derivs(double x, double y[], double dydx[])
{
    dydx[1] = y[2];
    dydx[3] = 0.0;
    dydx[2] = (2.0 * x * (m + 1.0) * y[2] - (y[3] - c2 * x * x) * y[1]) / (1.0 - x * x);
    dydx[4] = y[5];
    dydx[6] = 0.0;
    dydx[5] = (2.0 * x * (m + 1.0) * y[5] - (y[6] + c2 * x * x) * y[4]) / (1.0 - x * x);
}

void rk4(double y[], double dydx[], int n, double x, double h, double yout[])
{
	double yt[11], dyt[11], dym[11];
	double hh = h * 0.5;
	double h6 = h / 6.0;
	double xh = x + hh;
	int i;
	for (i = 1; i<=n; i++)
	{
		yt[i] = y[i] + hh * dydx[i];
	}
	derivs(xh, yt, dyt);
	for (i = 1; i<=n; i++)
	{
		yt[i] = y[i] + hh * dyt[i];
	}
	derivs(xh, yt, dym);
	for (i = 1; i<=n; i++)
	{
		yt[i] = y[i] + h * dym[i];
		dym[i] = dyt[i] + dym[i];
	}
	derivs(x + h, yt, dyt);
	for (i = 1; i<=n; i++)
	{
		yout[i] = y[i] + h6 * (dydx[i] + dyt[i] + 2.0 * dym[i]);
	}
	//erase dym, dyt, yt
}

void rkqc(double y[], double dydx[], int n, double& x, double htry, double eps,
		  double yscal[], double& hdid, double& hnext)
{
	double one = 1.0;
	double safety = 0.9;
	double errcon = 0.0006;
	double fcor = 0.066667;
	double ytemp[11], ysav[11], dysav[11];
	double pgrow = -0.2;
	double pshrnk = -0.25;
	double xsav = x;
	int i,flag;
	for (i = 1; i<=n; i++)
	{
		ysav[i] = y[i];
		dysav[i] = dydx[i];
	}
	double hh,h = htry;
	do
	{
		hh = 0.5 * h;
		rk4(ysav, dysav, n, xsav, hh, ytemp);
		x = xsav + hh;
		derivs(x, ytemp, dydx);
		rk4(ytemp, dydx, n, x, hh, y);
		x = xsav + h;
		if (x == xsav)
		{
			cout<<" stepsize not significant in rkqc."<<endl;
			return;
		}
		rk4(ysav, dysav, n, xsav, h, ytemp);
		double errmax = 0.0;
		for (i = 1; i<=n; i++)
		{
			ytemp[i] = y[i] - ytemp[i];
			if (errmax < fabs(ytemp[i] / yscal[i]))
			{
				errmax = fabs(ytemp[i] / yscal[i]);
			}
		}
		errmax = errmax / eps;
		if (errmax > one)
		{
			h = safety * h * pow(errmax , pshrnk);
			flag = 1;
		}
		else
		{
			hdid = h;
			if (errmax > errcon)
			{
				hnext = safety * h * pow(errmax , pgrow);
			}
			else
			{
				hnext = 4.0 * h;
			}
			flag = 0;
		}
	}while(flag == 1);
	for (i = 1; i<=n; i++)
	{
		y[i] = y[i] + ytemp[i] * fcor;
	}
	//erase dysav, ysav, ytemp
}

void odeint(double ystart[], int nvar, double x1, double x2, double eps,
			double h1, double hmin, int& nok, int& nbad, double xp[],
			double yp[], int ypn)
{
	int kmax=0;
    int maxstp = 10000;
    double two = 2.0;
    double zero = 0.0;
    double tiny = 1e-30;
	double xsav=0;
	double dxsav=0;
    double yscal[11], y[11], dydx[11];
    double x = x1;
    double h = fabs(h1) * sgn(x2 - x1);
    nok = 0;
    nbad = 0;
    int i,kount = 0;
    for (i = 1; i<=nvar; i++)
	{
        y[i] = ystart[i];
    }
    if (kmax > 0)
	{
		xsav = x - dxsav * two;
	}
	int nstp;
    for (nstp = 1; nstp<=maxstp; nstp++)
	{
        derivs(x, y, dydx);
        for (i = 1; i<=nvar; i++)
		{
            yscal[i] = fabs(y[i]) + fabs(h * dydx[i]) + tiny;
        }
        if (kmax > 0)
		{
            if (fabs(x - xsav) > fabs(dxsav))
			{
                if (kount < kmax - 1)
				{
                    kount = kount + 1;
                    xp[kount] = x;
                    for (i = 1; i<=nvar; i++)
					{
                        yp[(i-1)*ypn+kount] = y[i];
                    }
                    xsav = x;
                }
            }
        }
        if ((x + h - x2) * (x + h - x1) > zero)
		{
			h = x2 - x;
		}
		double hnext,hdid;
        rkqc(y, dydx, nvar, x, h, eps, yscal, hdid, hnext);
        if (hdid == h)
		{
            nok = nok + 1;
		}
        else
		{
            nbad = nbad + 1;
        }
        if ((x - x2) * (x2 - x1) >= zero)
		{
            for (i = 1; i<=nvar; i++)
			{
                ystart[i] = y[i];
            }
            if (kmax != 0)
			{
                kount = kount + 1;
                xp[kount] = x;
                for (i = 1; i<=nvar; i++)
				{
                    yp[(i-1)*ypn+kount] = y[i];
                }
            }
            //erase dydx, y, yscal
            return;
        }
        if (fabs(hnext) < hmin)
		{
            cout<<" stepsize smaller than minimum."<<endl;
            return;
        }
        h = hnext;
    }
    cout<<" too many steps."<<endl;
}

void shoot(int nvar, double v[], double delv[], int n2, double x1, double x2,
		   double eps, double h1, double hmin, double f[], double dv[])
{
    double y[21], dfdv[401],xp[201], yp[2001];
	int ypn=100;
	int indx[21]; 
    load(x1, v, y);
	int i,iv,nok,nbad;
    odeint(y, nvar, x1, x2, eps, h1, hmin, nok, nbad, xp, yp,ypn);
    score(x2, y, f);
	double sav;
    for (iv = 1; iv<=n2; iv++)
	{
        sav = v[iv];
        v[iv] = v[iv] + delv[iv];
        load(x1, v, y);
        odeint(y, nvar, x1, x2, eps, h1, hmin, nok, nbad, xp, yp,ypn);
        score(x2, y, dv);
        for (i = 1; i<=n2; i++)
		{
            dfdv[(i-1)*20+iv] = (dv[i] - f[i]) / delv[iv];
        }
        v[iv] = sav;
    }
    for (iv = 1; iv<=n2; iv++)
	{
        dv[iv] = -f[iv];
    }
	int det;
    ludcmp(dfdv, n2, 20,indx, det);
    lubksb(dfdv, n2, 20,indx, dv);
    for (iv = 1; iv<=n2; iv++)
	{
        v[iv] = v[iv] + dv[iv];
    }
}

void main()
{
    //program d15r1
    //driver for routine shoot
    //Solves for eigenvalues of spheroidal harmonics. Both
    //Prolate and Oblate case are handled simultaneously,
    //leading to six first-order equations. Unknown to
    //SHOOT, these are actually two independent sets of
    //three coupled equations, one set with c^2 positive
    //and the other with c^2 negative.
    int nvar = 6; int n2 = 2; double delta = 0.001; double eps = 0.000001;
    double v[3], delv[3], f[3], dv[3];
    double dx = 0.0001;
    do
	{
		cout<<"input m,n,c-squared (999 to end)"<<endl;
		m = 2;
		n = 2;
		c2 = 0.1;
		if (c2 == 999)
		{
			exit(1);
		}
	}while ((n < m) || (m < 0) || (n < 0));
	cout.setf(ios::fixed|ios::right);
	cout.precision(6);
	cout.width(1);
    cout<<m;
	cout.width(6);
	cout<<n;
	cout.width(12);
	cout<<c2<<endl;
    factr = 1;
	int q1;
    if (m != 0)
	{
        q1 = n;
        for (int i = 1; i<=m; i++)
		{
            factr = -0.5 * factr * (n + i) * ((double)q1 / (double)i);
            q1 = q1 - 1;
        }
    }
    v[1] = n * (n + 1) - m * (m + 1) + c2 / 2.0;
    v[2] = n * (n + 1) - m * (m + 1) - c2 / 2.0;
    delv[1] = delta * v[1];
    delv[2] = delv[1];
    double h1 = 0.1;
    double hmin = 0.0;
    double x1 = -1.0 + dx;
    double x2 = 0.0;
	cout<<endl;
    cout<<"            prolate                   oblate"<<endl;
    cout<<"      mu(m,n)    error est.    mu(m,n)      error est."<<endl;
    do
	{
		shoot(nvar, v, delv, n2, x1, x2, eps, h1, hmin, f, dv);
		cout.width(13);
		cout<<v[1];
		cout.width(13);
		cout<<dv[1];
		cout.width(13);	
		cout<<v[2];
		cout.width(13);
		cout<<dv[2]<<endl;
    }while (fabs(dv[1]) > fabs(eps * v[1]) || fabs(dv[2]) > fabs(eps * v[2]));
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一二三四| 精品国产髙清在线看国产毛片| 成人av在线资源网站| 国产乱淫av一区二区三区 | 国产91富婆露脸刺激对白| 国内精品国产成人| 久久av资源网| 国产一区亚洲一区| 高清国产午夜精品久久久久久| 成人午夜电影小说| 波多野结衣视频一区| av在线不卡免费看| 色综合久久天天| 色8久久人人97超碰香蕉987| 欧美色图片你懂的| 欧美精品xxxxbbbb| 精品欧美久久久| 欧美国产日产图区| 亚洲三级电影全部在线观看高清| 亚洲欧美日韩国产另类专区| 亚洲一区欧美一区| 日本午夜精品一区二区三区电影 | 成人精品视频一区二区三区尤物| 91在线视频免费观看| 在线观看免费一区| 91精品国产欧美一区二区成人| 日韩免费高清视频| 国产精品污网站| 亚洲一区二区成人在线观看| 男女视频一区二区| 粉嫩av一区二区三区在线播放| 99精品久久只有精品| 欧美精品粉嫩高潮一区二区| 欧美精品一区二区三区四区| 国产精品久久久久四虎| 婷婷综合五月天| 国产一区欧美日韩| 91在线视频观看| 欧美亚洲综合在线| 久久精品国产精品亚洲红杏| 天天操天天色综合| 国产一区二区调教| 在线亚洲一区观看| 日韩久久精品一区| 亚洲天堂av一区| 日欧美一区二区| 东方aⅴ免费观看久久av| 欧美色大人视频| 久久精品亚洲国产奇米99| 亚洲黄色录像片| 国模套图日韩精品一区二区| 欧美中文字幕一区二区三区| 久久久亚洲精华液精华液精华液| 亚洲精品日日夜夜| 国产在线一区二区| 欧美无乱码久久久免费午夜一区| 久久新电视剧免费观看| 亚洲在线视频一区| 国产精品99久久久久久似苏梦涵 | 久久在线免费观看| 亚洲成人免费看| 成人午夜在线播放| 欧美一级高清片| 亚洲激情男女视频| 国产91丝袜在线18| 日韩免费视频一区二区| 亚洲国产精品一区二区久久| 成人高清在线视频| 久久综合网色—综合色88| 亚洲成人动漫一区| 色又黄又爽网站www久久| 久久蜜桃一区二区| 石原莉奈一区二区三区在线观看| 91九色最新地址| 日本一区二区三区四区在线视频| 日韩不卡一区二区三区| 欧美亚洲国产一区二区三区va| 国产精品无圣光一区二区| 国产在线精品一区二区夜色| 欧美色图片你懂的| 亚洲精品乱码久久久久| 波波电影院一区二区三区| 久久久精品tv| 色婷婷综合久色| 国产精品毛片无遮挡高清| 国内精品在线播放| 日韩视频在线你懂得| 人人精品人人爱| 91麻豆精品国产91久久久使用方法 | 91国产视频在线观看| ...xxx性欧美| 成人av在线一区二区| 欧美韩日一区二区三区四区| 国内外成人在线视频| 日韩欧美国产综合一区 | 久久精品国产色蜜蜜麻豆| 在线播放中文字幕一区| 婷婷中文字幕一区三区| 精品视频999| 午夜精品一区二区三区免费视频| 色婷婷综合久久久中文一区二区| 亚洲欧美在线视频| 成人av在线看| 中文字幕一区二区三区视频| 99久久伊人精品| 亚洲视频精选在线| 91浏览器入口在线观看| 亚洲精品视频在线| 欧洲视频一区二区| 亚洲成av人片在线| 日韩欧美专区在线| 蜜臀av一级做a爰片久久| 日韩免费视频一区| 国产精品亚洲人在线观看| 欧美国产一区视频在线观看| av在线不卡观看免费观看| 亚洲视频电影在线| 欧美视频完全免费看| 日韩一区精品字幕| 亚洲精品一线二线三线| 精品久久久久香蕉网| 国产一区二区伦理片| 国产精品午夜免费| 在线观看亚洲精品视频| 日本中文字幕一区| 久久久精品日韩欧美| 99久久久久免费精品国产| 亚洲一区二区三区国产| 91精品国产综合久久蜜臀| 久久99在线观看| 中文字幕一区二区日韩精品绯色| 色视频一区二区| 日本强好片久久久久久aaa| 欧美精品一区二区精品网| av在线综合网| 视频一区二区三区在线| 久久久国际精品| 91激情五月电影| 麻豆中文一区二区| 亚洲天堂免费看| 欧美一级视频精品观看| 不卡av在线免费观看| 亚洲电影一区二区| 久久久精品天堂| 欧美色手机在线观看| 国产高清无密码一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 日韩三级中文字幕| 成人亚洲一区二区一| 婷婷激情综合网| 中文字幕免费在线观看视频一区| 欧美日韩国产电影| 成人性视频免费网站| 日本91福利区| 亚洲六月丁香色婷婷综合久久| 日韩免费福利电影在线观看| 91浏览器打开| 国产精品资源在线看| 婷婷国产在线综合| 专区另类欧美日韩| 精品三级在线看| 色婷婷av一区二区| 国产成人综合在线观看| 图片区日韩欧美亚洲| 中文欧美字幕免费| 欧美r级在线观看| 欧美在线看片a免费观看| 丁香激情综合五月| 日本福利一区二区| 国产激情视频一区二区在线观看 | 男人的天堂亚洲一区| 一区二区三区四区中文字幕| 久久久久久久免费视频了| 9191成人精品久久| 欧美性猛交xxxx黑人交| 成人av在线网| 国产乱码字幕精品高清av| 蜜臀精品一区二区三区在线观看| 亚洲人成网站色在线观看| 亚洲国产电影在线观看| 久久久久99精品一区| 日韩精品资源二区在线| 欧美日韩精品一区二区三区蜜桃| 91网站在线播放| 99久久er热在这里只有精品15| 国产一区二区三区四区五区美女 | 狠狠久久亚洲欧美| 日本在线观看不卡视频| 亚洲bdsm女犯bdsm网站| 一区二区免费在线| 亚洲欧洲99久久| 国产精品色哟哟网站| 久久精品在这里| 欧美精品一区二区三区蜜桃| 日韩欧美区一区二| 日韩欧美在线网站| 日韩一区二区麻豆国产| 欧美福利视频一区| 这里是久久伊人| 日韩亚洲欧美成人一区|