亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲精品成人在线| 精品影视av免费| 麻豆传媒一区二区三区| 99视频一区二区三区| 欧美老肥妇做.爰bbww视频| 久久久久久亚洲综合| 亚洲第一搞黄网站| www.亚洲精品| 国产三级久久久| 九九精品一区二区| 欧美人与禽zozo性伦| 国产精品久久久久久久第一福利| 美女视频黄a大片欧美| 欧美性xxxxx极品少妇| 国产精品国产自产拍高清av王其| 青青草原综合久久大伊人精品优势| av成人老司机| 国产精品视频看| 国产精品中文有码| 精品国产亚洲在线| 免费成人你懂的| 91精品国产综合久久精品app | 亚洲线精品一区二区三区八戒| 国产乱一区二区| 精品成人在线观看| 美女任你摸久久| 日韩欧美视频在线| 日韩激情视频网站| 67194成人在线观看| 一区二区三区精品| 欧美图片一区二区三区| 伊人夜夜躁av伊人久久| 色综合久久综合网欧美综合网| 国产精品欧美一级免费| 成人听书哪个软件好| 亚洲国产精品成人综合| 国产毛片精品一区| 国产免费久久精品| 成人一区二区三区中文字幕| 中文乱码免费一区二区| av不卡一区二区三区| 亚洲天堂免费在线观看视频| 97se亚洲国产综合自在线不卡| 亚洲男人天堂av网| 欧洲精品一区二区三区在线观看| 日韩高清欧美激情| 日韩欧美激情在线| 精品亚洲国产成人av制服丝袜| 久久男人中文字幕资源站| 国产精品一区在线观看你懂的| 国产欧美精品区一区二区三区 | 伊人婷婷欧美激情| 欧美性猛片xxxx免费看久爱| 日韩激情一二三区| 久久久久久亚洲综合影院红桃| 不卡视频免费播放| 亚洲黄色av一区| 欧美一级免费观看| 岛国精品一区二区| 亚洲制服欧美中文字幕中文字幕| 91精品国产综合久久精品性色| 韩国视频一区二区| 亚洲人午夜精品天堂一二香蕉| 欧美日韩国产综合久久 | 一区二区三区在线视频免费| 欧美日韩一级黄| 国内精品免费**视频| 日韩一区中文字幕| 91精品国产麻豆| 成人一区二区三区在线观看| 亚洲综合小说图片| ww亚洲ww在线观看国产| 91在线码无精品| 久久国产精品露脸对白| 亚洲图片你懂的| 精品国产99国产精品| 色999日韩国产欧美一区二区| 久草中文综合在线| 一区二区三区中文字幕电影| 精品99999| 欧美色图12p| 成人午夜又粗又硬又大| 日韩成人免费电影| 日韩毛片一二三区| 欧美变态口味重另类| 色婷婷综合久久久久中文 | 国产福利不卡视频| 午夜久久久久久久久久一区二区| 久久精品视频在线免费观看| 91精品蜜臀在线一区尤物| zzijzzij亚洲日本少妇熟睡| 九九热在线视频观看这里只有精品| 一区二区三区成人| 中文字幕一区二| 久久久国产精华| 欧美一区二区日韩一区二区| 欧美午夜不卡在线观看免费| 99精品久久久久久| 国产91综合一区在线观看| 久久国产精品色| 人妖欧美一区二区| 午夜精品成人在线视频| 伊人夜夜躁av伊人久久| 中文字幕亚洲视频| 欧美国产日韩a欧美在线观看| 欧美一区永久视频免费观看| 精品1区2区3区| 欧美在线不卡一区| 色欧美片视频在线观看 | 欧美韩国一区二区| 精品成人一区二区| 精品毛片乱码1区2区3区| 日韩一区二区三| 日韩一二三区视频| 欧美一区二区三区性视频| 欧美女孩性生活视频| 欧美午夜精品一区二区蜜桃| 欧美午夜片在线看| 欧美高清性hdvideosex| 91精品婷婷国产综合久久竹菊| 欧美色综合网站| 欧美乱妇一区二区三区不卡视频| 欧美日韩成人在线一区| 欧美肥妇free| 欧美大尺度电影在线| 久久久久成人黄色影片| 日本一区二区视频在线| 亚洲欧洲日韩一区二区三区| 午夜影视日本亚洲欧洲精品| 亚洲成人综合在线| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩有码一区二区三区| 久久精品国产一区二区| 国产高清视频一区| 99麻豆久久久国产精品免费优播| 日本韩国欧美一区| 欧美三级电影网站| 日韩欧美的一区二区| 国产欧美视频在线观看| 亚洲色图欧美激情| 视频一区二区中文字幕| 国产综合久久久久影院| 成人涩涩免费视频| 欧美色综合网站| www久久精品| 一区av在线播放| 国产综合色在线| 欧美伊人久久大香线蕉综合69 | 精品国产乱码久久久久久久久| 日本一区二区三区在线观看| 亚洲国产美女搞黄色| 精品一区二区三区的国产在线播放 | 欧美色倩网站大全免费| 日韩精品一区二区三区视频播放| 国产婷婷一区二区| 午夜私人影院久久久久| 国产成人精品网址| 欧美日韩精品一区二区天天拍小说| 精品卡一卡二卡三卡四在线| 亚洲欧美精品午睡沙发| 奇米888四色在线精品| 99在线精品观看| 欧美不卡一区二区三区四区| 一区二区三区中文字幕精品精品 | 亚洲免费av网站| 久久99久久精品| 欧美亚男人的天堂| 国产欧美一区二区精品性色超碰| 亚洲6080在线| 91麻豆成人久久精品二区三区| 日韩欧美另类在线| 亚洲成av人**亚洲成av**| 国产91精品一区二区麻豆网站| 91精品国产色综合久久久蜜香臀| 国产精品国产三级国产aⅴ入口 | 欧美一卡二卡在线观看| 亚洲欧美日韩一区二区 | 日本乱码高清不卡字幕| www亚洲一区| 免费视频一区二区| 欧美日韩精品一区二区三区四区| 国产精品亲子乱子伦xxxx裸| 黄页视频在线91| 欧美一区二区精品在线| 亚洲激情在线激情| 99国产精品国产精品毛片| 国产亚洲1区2区3区| 久久国产欧美日韩精品| 欧美一级片在线观看| 天天色综合成人网| 欧美日韩一级视频| 亚洲午夜在线观看视频在线| 色综合天天综合网天天看片| 国产精品久久久久久久久免费相片 | 欧美乱妇一区二区三区不卡视频| 亚洲精品中文字幕乱码三区| 99综合影院在线| 亚洲精品久久久蜜桃| 一本色道久久综合狠狠躁的推荐| 国产精品沙发午睡系列990531|