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

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

?? extremum.inl

?? 主要是關于一些數值計算中所要用到的頭文件,希望對大家有所幫助
?? INL
?? 第 1 頁 / 共 2 頁
字號:
// Extremum.inl		計算極值函數(方法)定義頭文件
// Ver 1.0.0.0
// 版權所有(C) 何渝, 2002
// 最后修改: 2002.5.31.

#ifndef _EXTREMUM_INL		//避免多次編譯
#define _EXTREMUM_INL

//一維極值連分式法
template <class _Ty>
void ExtremumFraction1D(valarray<_Ty>& x, _Ty eps, 
										int k, valarray<int>& js)
{	
    _Ty xx,h1,dx,y[10],b[10],h2(0);
	valarray<_Ty> z(2);
    int jt = 1;
	js[0] = 0;
    while(jt == 1)
    {
		int j=0;
        while(j<=7)
        {
			if(j <=2) 
				xx=x[0]+0.01*j;
            else xx=h2;
            FunctionValueEF1D(xx,z);
            if(Abs(z[1]) < eps)
            {
				jt=0; 
				j=10;
			}
            else
            {
				h1=z[1]; 
				h2=xx;
                if(j==0)
				{
					y[0]=h1;
					b[0]=h2;
				}
                else
                {
					y[j]=h1;
					int m=0;
					int i=0;
                    while((m==0)&&(i<=j-1))
					{
						if(FloatEqual((h2-b[i]),0)) 
							m=1;
						else
							h2=(h1-y[i])/(h2-b[i]);
                        i=i+1;
					}
                    b[j]=h2;
                    if(m!=0)
						b[j]=1.0e+35;
                    h2=0.0;
                    for(i=j-1; i>=0; i--)
						h2=-y[i]/(b[i+1]+h2);
                    h2=h2+b[0];
                }
                j=j+1;
            }
        }
        x[0]=h2;
        js[0]=js[0]+1;
        if(js[0]==k)  jt=0;
    }
    xx = x[0];
    FunctionValueEF1D(xx,z);
	x[1] = z[0];
    if(Abs(x[0]) < 1.0 || FloatEqual(Abs(x[0]), 1)) dx=1.0e-05;
    else	dx = Abs(x[0] * 1.0e-05);
    xx = x[0] - dx;
    FunctionValueEF1D(xx,z);
	h1 = z[0];
    xx = x[0] + dx;
    FunctionValueEF1D(xx,z);
	h2 = z[0];
    js[1] = -1;
    if((h1 + h2 - 2.0 * x[1]) < 0.0 || FloatEqual((h1 + h2 - 2.0 * x[1]),0)) js[1]=1;
}

//n維極值連分式法
template <class _Ty>
void ExtremumFractionND(valarray<_Ty>& x, _Ty eps, 
										int k, valarray<int>& js)
{
    int i,j,m,l,jt(1),il;
    _Ty y[10],b[10],p,z,t,h1,h2(0),f,dx;

	int n = x.size()-1;			//自變量個數

    js[0] = 0;
	//jt = 1;
	//h2 = 0;
    while(jt == 1)
    {
		t=0.0; 
		js[0]=js[0]+1;
        for(i=1; i<=n; i++)
        {
			f=FunctionValueEFND(x,i);
            t=t+Abs(f);
        }
        if(t<eps) jt=0;
        else
        {
			for(i = 0; i < n; i++)
              { 
				il=5;
                while(il!=0)
                {
					j=0;
					t=x[i];
					il=il-1;
                    while(j<=7)
                    {
						if(j<=2) z=t+j*0.01;
                        else z=h2;
                        x[i]=z;
                        f=FunctionValueEFND(x,i+1);
                        if(FloatEqual(f,0))
                        {
							j=10;
							il=0;
						}
                        else
                        {
							h1=f;
							h2=z;
                            if(j==0)
                            {
								y[0]=h1;
								b[0]=h2;
							}
                            else
                            {
								y[j]=h1;
								m=0;
								l=0;
                                while((m==0)&&(l<=j-1))
                                {
									p=h2-b[l];
                                    if(FloatEqual(p,0)) m=1;
                                    else h2=(h1-y[l])/p;
                                    l=l+1;
                                }
                                b[j]=h2;
                                if(m!=0) b[j]=1.0e+35;
                                h2=0.0;
                                for(l=j-1; l>=0; l--)
                                h2=-y[l]/(b[l+1]+h2);
                                h2=h2+b[0];
                            }
                            j=j+1;
                        }
                    }
                    x[i]=h2; 
                }
                x[i]=z;
            }
            if(js[0]==k) jt=0;
        }
    }
    js[1]=1;
    f=FunctionValueEFND(x,0); 
	x[n]=f;
    dx=0.00001;
	t=x[0];
    x[0]=t+dx;
	h1=FunctionValueEFND(x,0);
    x[0]=t-dx;
	h2=FunctionValueEFND(x,0);
    x[0]=t;
    t=h1+h2-2.0*f;
    if(t>0.0) js[1]=-1;
    j=1; jt=1;
    while(jt==1)
    {
		j=j+1;
		dx=0.00001;
		jt=0;
        t=x[j-1];
        x[j-1]=t+dx;
		h2=FunctionValueEFND(x,0);
        x[j-1]=t-dx;
		h1=FunctionValueEFND(x,0);
        x[j-1]=t;
		t=h1+h2-2.0*f;
        if((t*js[1]<0.0)&&(j<n)) jt=1;
    }
    if(t*js[1]>0.0) js[1]=0;
}

//線性規劃
template <class _Ty>
int ExtremumLinePrograming(matrix<_Ty>& a, valarray<_Ty>& b, 
								valarray<_Ty>& c, valarray<_Ty>& x)
{
    _Ty y;
	
	int m = b.size();		//不等式約束條件的個數
	int n = c.size() - m;	//變量個數

	valarray<int> js(m);
	matrix<_Ty> p(m, m);
	matrix<_Ty> d(m, (m+n));
	for(int i = 0; i < m; i++) js[i] = n + i;
    int mn = m + n;
	_Ty s(0);
    while(1==1)
    {
		for(i = 0; i < m; i++)
          for(int j = 0; j < m; j++)
			  p(i,j) = a(i, js[j]);
        int l=MatrixInversionGS(p);
        if(l==0)
        {
			x[n]=s;
            return(l);
        }

		d = p * a;			//矩陣相乘
        
        for(i=0; i<mn; i++) x[i]=0.0;
        for(i=0; i<m; i++)
        {
			s=0.0;
            for(int j=0; j<m; j++)
              s=s + p(i,j) * b[j];
            x[js[i]]=s;
        }
        int k = -1;
		_Ty dd=1.0e-35;
        for(int j = 0; j < mn; j++)
        {
			_Ty z(0);
            for(i=0; i<m; i++)
              z = z + c[js[i]] * d(i, j);
            z = z - c[j];
            if(z > dd)
			{
				dd = z;
				k = j;
			}
        }
        if(k == -1)
          {
			s=0.0;
            for(j=0; j<n; j++)
				s = s + c[j] * x[j];
			x[n] = s;
            return(1);
        }
        j = -1;
        dd = 1.0e+20;
        for(i=0; i<m; i++)
			if(d(i, k) >= 1.0e-20 )
            { 
			  y=x[js[i]] / d(i, k);
              if(y < dd)
			  {
				  dd = y; 
				  j = i;
			  }
			}
        if(j==-1) 
        {
			x[n]=s;
            return(0);
        }
        js[j]=k;
    }
}

//n維極值單形調優法
template <class _Ty>
int ExtremumSimplexND(_Ty d, _Ty u, _Ty v, valarray<_Ty>& x,  
				_Ty eps, int k, matrix<_Ty>& xx, valarray<_Ty>& f)
{
	int r,g,l;
	_Ty fe,ft,ff;
	
	int n = x.size() - 1;	//變量個數

	valarray<_Ty> xt(n);
	valarray<_Ty> xf(n);
	valarray<_Ty> xe(n);

    int kk=0;
	_Ty nn=1.0*n;
    _Ty fr=sqrt(nn+1.0);
    _Ty fl=d*(fr-1.0)/(1.414*nn);
    _Ty fg=d*(fr+nn-1.0)/(1.414*nn);
    for(int i=0; i<n; i++)
    for(int j=0; j<=n; j++)
       xx(i,j) = 0;
    for(i=1; i<=n; i++)
    for(int j=0; j<n; j++)
       xx(j,i) = fl;
    for(i=1; i<=n; i++)
       xx((i-1),i) = fg;
    for(i=0; i<=n; i++)
    { 
		for(int j=0; j<n; j++)	xt[j]=xx(j,i);
        f[i]=FunctionValueESND(xt,n);
    }
    ft=1.0+eps;
    while((kk<k)&&(ft>eps))
    {
		kk=kk+1;
        fr=f[0]; fl=f[0]; r=0; l=0;
        for(i=1; i<=n; i++)
        {
			if(f[i]>fr)
			{
				r=i;
				fr=f[i];
			}
            if(f[i]<fl)
			{
				l=i;
				fl=f[i];
			}
        }
        g=0;
		fg=f[0];
        int j=0;
        if(r==0)
		{
			g=1;
			fg=f[1];
			j=1;
		}
        for(i=j+1; i<=n; i++)
			if((i!=r)&&(f[i]>fg))
            {
				g=i;
				fg=f[i];
			}
        for(j=0; j<n; j++)
        {
			xf[j]=0.0;
            for(i=0; i<=n; i++)
				if(i!=r)	xf[j]=xf[j]+xx(j,i)/nn;
            xt[j]=2.0*xf[j]-xx(j,r);
        }
        ft=FunctionValueESND(xt,n);
        if(ft<f[l])
        {
			for(j=0; j<n; j++)	xf[j]=(1.0+u)*xt[j]-u*xf[j];
            ff=FunctionValueESND(xf,n);
            if(ff<f[l])
            {
				for(j=0; j<n; j++)	xx(j,r)=xf[j];
                f[r]=ff;
            }
            else
			{
				for(j=0; j<n; j++)	xx(j,r)=xt[j];
                f[r]=ft;
            }
        }
        else
        {
			if(ft<=f[g])
            {
				for(j=0; j<=n-1; j++)	xx(j,r)=xt[j];
                f[r]=ft;
            }
            else 
            {
				if(ft<=f[r])
                {
					for(j=0; j<=n-1; j++)	xx(j,r)=xt[j];
                    f[r]=ft;
                }
                for(j=0; j<n; j++)	xf[j]=v*xx(j,r)+(1.0-v)*xf[j];
                ff=FunctionValueESND(xf,n);
                if(ff>f[r])
                  for(i=0; i<=n; i++)
                  {
					  for(j=0; j<=n-1; j++)
					  {
						  xx(j,i)=(xx(j,i)+xx(j,l))/2.0;
                          x[j]=xx(j,i);
						  xe[j]=x[j];
                      }
                      fe=FunctionValueESND(xe,n);
					  f[i]=fe;
                  }
                else
                {
					for(j=0; j<=n-1; j++)	xx(j,r)=xf[j];
                    f[r]=ff;
                }
            }
        }
        ff=0.0;
		ft=0.0;
        for(i=0; i<=n; i++)
        {
			ff=ff+f[i]/(1.0+nn);
            ft=ft+f[i]*f[i];
        }
        ft=(ft-(1.0+n)*ff*ff)/nn;
    }
    for(int j=0; j<n; j++)
    {
		x[j] = 0.0;
        for(i=0; i<=n; i++)	x[j] = x[j] + xx(j,i) / (1.0+nn);
        xe[j] = x[j];
    }
    fe = FunctionValueESND(xe,n);
	x[n] = fe;
    return(kk);
}

//n維極值復形調優法
template <class _Ty>
int ExtremumComplexND(int m, valarray<_Ty>& a, valarray<_Ty>& b,
		_Ty alpha, _Ty eps, valarray<_Ty>& x, matrix<_Ty>& xx, int k)
{
    int r, g, kt, jt, kk;
    _Ty fj, fr, fg, z;
	double rr = 0;				//隨機數種子
	int n = a.size();			//變量個數

	valarray<_Ty> c(m);
	valarray<_Ty> d(m);
	valarray<_Ty> w(m);
	valarray<_Ty> xt(m);
	valarray<_Ty> xf(m);

    for(int i=0; i<n; i++)	xx(i,0) = x[i];
    xx(n,0) = FunctionValueTarget(x,n);
    for(int j=1; j<2*n; j++)
    {
		for(i=0; i<n; i++)
		{
			xx(i,j) = a[i] + (b[i] - a[i]) * rand_01_One(rr);
            x[i] = xx(i,j);
        }
        int it = 1;
        while(it==1)
        {
			it = 0;
			r = 0;
			g = 0;
            while((r<n)&&(g==0))
            {
				if((a[r]<=x[r])&&(b[r]>=x[r])) r = r + 1;
                else g = 1;
            }
            if(g==0)
            {
				ConditionValue(n,m,x,c,d,w);
                r = 0;
                while((r<m)&&(g==0))
                {
					if((c[r]<=w[r])&&(d[r]>=w[r])) r=r+1;
                    else g=1;
                }
            }
            if(g!=0)
            {
				for(r=0; r<n; r++)
                {
					z = 0.0;
                    for(g=0; g<j; g++)	z = z + xx(r,g) / (1.0*j);
                    xx(r,j) = (xx(r,j) + z) / 2.0;
                    x[r]=xx(r,j);
                }
                it = 1;
            }
            else xx(n,j) = FunctionValueTarget(x,n);
        }
    }
    kk = 1;
	int it = 1;
    while(it==1)
    {
		it = 0;
        fr = xx(n,0);
		r = 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品久久久久秋霞影院 | 免费人成精品欧美精品| 欧美亚洲国产一区二区三区va | 午夜久久福利影院| 欧美日韩精品电影| 久久国产尿小便嘘嘘尿| 26uuu国产在线精品一区二区| 韩国三级中文字幕hd久久精品| 久久综合中文字幕| 成人h动漫精品| 不卡视频一二三四| 亚洲成人av电影在线| 91精品国产欧美日韩| 韩国在线一区二区| 亚洲精品免费在线| 欧美一区二区三区在线电影| 国产精一区二区三区| 久久夜色精品一区| 在线看一区二区| 久久av中文字幕片| 亚洲人精品午夜| 91精品国产一区二区人妖| 国产精选一区二区三区 | 亚洲视频电影在线| 欧美三区在线观看| 国产美女娇喘av呻吟久久| 亚洲人亚洲人成电影网站色| 欧美精品亚洲一区二区在线播放| 国产一区欧美二区| 亚洲曰韩产成在线| 在线综合视频播放| aaa欧美色吧激情视频| 日本vs亚洲vs韩国一区三区| 中文字幕第一区| 欧美一区二区三区精品| 99re成人在线| 久久99久久精品欧美| 久久精品欧美日韩| 在线播放91灌醉迷j高跟美女| 国产黑丝在线一区二区三区| 午夜一区二区三区视频| 国产精品免费av| 日韩欧美国产一区二区在线播放| 91在线国内视频| 精品成人a区在线观看| 欧美性videosxxxxx| 粉嫩13p一区二区三区| 日本午夜精品视频在线观看| 亚洲欧洲日韩一区二区三区| 久久久国产一区二区三区四区小说 | 欧洲生活片亚洲生活在线观看| 男男成人高潮片免费网站| 1000精品久久久久久久久| 在线亚洲人成电影网站色www| 国产一区二区三区精品视频| 丝袜国产日韩另类美女| 伊人色综合久久天天| 亚洲国产精品高清| 久久色在线视频| 91麻豆精品91久久久久久清纯 | 国产免费久久精品| 欧美xxxx在线观看| 在线播放一区二区三区| 欧美日韩久久久| 99视频一区二区三区| 高清不卡一区二区在线| 国产精品一区二区男女羞羞无遮挡| 午夜不卡av在线| 亚洲在线观看免费| 亚洲成人资源在线| 亚洲国产一二三| 亚洲图片欧美一区| 五月天久久比比资源色| 亚洲激情图片一区| 久久九九全国免费| 国产日韩欧美综合在线| 久久色中文字幕| 国产三级精品三级在线专区| 欧美国产1区2区| 国产精品高潮久久久久无| 国产精品大尺度| 亚洲精品老司机| 中文字幕欧美激情| 亚洲日本在线看| 一区二区三区影院| 亚洲福利视频导航| 日韩不卡一区二区| 极品瑜伽女神91| 国产成人午夜精品影院观看视频 | av不卡免费在线观看| 91在线一区二区三区| 日本韩国一区二区三区视频| 在线精品视频免费播放| 欧美日韩免费观看一区三区| 欧美精品久久天天躁| 日韩欧美一二三四区| 精品国产一区二区三区不卡 | 日韩亚洲电影在线| 精品第一国产综合精品aⅴ| 欧美激情一区二区三区不卡| 日韩一区在线看| 亚洲高清免费观看| 国产精品久久久久毛片软件| 久久精品视频网| 国产欧美精品一区二区色综合朱莉 | 久久精品免费在线观看| 成人欧美一区二区三区小说| 亚洲午夜精品网| 亚洲一区视频在线| 精品一区二区三区免费播放| 成人国产精品免费网站| 欧美性受xxxx| 精品国产精品网麻豆系列| 中文字幕一区免费在线观看 | 国产精品理论片在线观看| 成人免费视频播放| 欧美日韩免费一区二区三区| 久久久精品中文字幕麻豆发布| 亚洲视频在线一区| 老司机精品视频导航| 99精品国产热久久91蜜凸| 4hu四虎永久在线影院成人| 精品理论电影在线| 秋霞午夜av一区二区三区| 国产成人高清在线| 欧美日本韩国一区二区三区视频| 久久久久国色av免费看影院| 亚洲精品视频一区| 国产一区在线视频| 69堂国产成人免费视频| 亚洲色图欧美偷拍| 粉嫩一区二区三区性色av| 色综合久久久久久久久| 欧美tickling网站挠脚心| 一区二区三区中文在线观看| 国产精品99久久久久| 这里是久久伊人| 一区二区三区四区视频精品免费| 国产成人a级片| 日韩一区二区中文字幕| 一区二区三区毛片| www.亚洲色图| 久久综合资源网| 久久综合综合久久综合| 欧美精品在线视频| 一区二区三区欧美| 成人av在线一区二区| 欧美精品一区二| 日本视频中文字幕一区二区三区| 亚洲bt欧美bt精品| 在线这里只有精品| 亚洲婷婷综合色高清在线| 国产精品中文字幕欧美| 精品成人在线观看| 久久电影国产免费久久电影 | 欧洲一区二区三区在线| 亚洲精品大片www| 99精品欧美一区| 国产精品色在线观看| 国产一区二区伦理片| 精品盗摄一区二区三区| 精品制服美女久久| 日韩欧美国产综合在线一区二区三区| 午夜精品福利一区二区三区蜜桃| 欧美在线999| 久久九九全国免费| 懂色av一区二区三区免费看| 国产亚洲综合色| 成人av综合在线| 国产精品久久久久久户外露出| 国产成人高清在线| 一区在线中文字幕| 91黄色激情网站| 亚洲小说欧美激情另类| 9191成人精品久久| 亚洲444eee在线观看| 91精品欧美综合在线观看最新| 日韩av电影天堂| 欧美va在线播放| 国产精品123区| 国产精品久久看| 91福利社在线观看| 日韩高清一级片| 精品久久久久久久久久久院品网| 91麻豆国产香蕉久久精品| 夜夜爽夜夜爽精品视频| 欧美乱妇15p| 国内久久婷婷综合| 中文字幕日韩一区二区| 欧美三级视频在线播放| 日本中文在线一区| 欧美经典一区二区| 色欧美88888久久久久久影院| 日韩av高清在线观看| 91精品综合久久久久久| 国产一区在线视频| 玉足女爽爽91| 精品国产免费人成在线观看| av网站一区二区三区| 日本中文字幕一区|