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

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

?? extremum.inl

?? Chap16 特殊函數(shù) 計算機常用數(shù)值算法與程序(C++版)
?? INL
?? 第 1 頁 / 共 2 頁
字號:
        for(i=1; i<2*n; i++)
          if(xx(n,i)>fr)
          {
			  r = i;
			  fr = xx(n,i);
		  }
        g = 0;
		j = 0;
		fg = xx(n,0);
        if(r==0)
        {
			g = 1;
			j = 1;
			fg = xx(n,1);
		}
        for(i=j+1; i<2*n; i++)
          if(i!=r)
            if(xx(n,i)>fg)
            {
				g = i;
				fg = xx(n,i);
			}
        for(i=0; i<n; i++)
        {
			xf[i] = 0.0;
            for(j=0; j<2*n; j++)
              if(j!=r)	xf[i]=xf[i]+xx(i,j)/(2.0*n-1.0);
            xt[i]=(1.0+alpha)*xf[i]-alpha*xx(i,r);
        }
        jt = 1;
        while(jt==1)
        {
			jt = 0;
            z = FunctionValueTarget(xt,n);
            while(z>fg)
            {
				for(i=0; i<n; i++)	xt[i]=(xt[i]+xf[i])/2.0;
                z = FunctionValueTarget(xt,n);
            }
            j=0;
            for(i=0; i<n; i++)
            { 
				if(a[i]>xt[i])
                {
					xt[i]=xt[i]+0.000001;
					j=1;
				}
				if(b[i]<xt[i])
                {
					xt[i]=xt[i]-0.000001;
					j=1;
				}
            }
            if(j!=0) jt=1;
            else
            {
				ConditionValue(n,m,xt,c,d,w);
                j=0;
				kt=1;
                while((kt==1)&&(j<m))
                {
					if((c[j]<=w[j])&&(d[j]>=w[j])) j=j+1;
                    else kt=0;
                }
                if(j<m)
                { 
					for(i=0; i<n; i++)	xt[i]=(xt[i]+xf[i])/2.0;
                    jt=1;
                }
            }
        }
        for(i=0; i<n; i++)	xx(i,r)=xt[i];
        xx(n,r) = z;
        fr = 0.0; 
		fg = 0.0;
        for(j=0; j<2*n; j++)
        {
			fj = xx(n,j);
            fr = fr + fj / (2.0*n);
            fg = fg + fj * fj;
        }
        fr = (fg - 2.0 * n * fr * fr) / (2.0 * n - 1.0);
        if(fr>=eps)
        {
			kk = kk + 1;
            if(kk<k) it = 1;
        }
    }
    for(i=0; i<n; i++)
    {
		x[i] = 0.0;
        for(j=0; j<2*n; j++)	x[i]=x[i]+xx(i,j)/(2.0*n);
    }
    z = FunctionValueTarget(x,n);
	x[n] = z;
    return(kk);
}

//確定1維函數(shù)極小值點所在區(qū)間
template <class _Ty>
void MinimizerInterval(_Ty& ax, _Ty& bx, _Ty& cx, _Ty& fa, _Ty& fb, _Ty& fc)
{
    _Ty r,q,dum,gold = 1.0 + GoldNo;
    _Ty u,ulim,fu,tiny = 1e-20;
	int glimit = 100;

    fa = FunctionValue(ax);
    fb = FunctionValue(bx);
    if (fb > fa)
	{
        dum = ax;
        ax = bx;
        bx = dum;
        dum = fb;
        fb = fa;
        fa = dum;
    }
    cx = bx + gold * (bx - ax);
    fc = FunctionValue(cx);
	while (fb >= fc)
	{
        r = (bx - ax) * (fb - fc);
        q = (bx - cx) * (fb - fa);
        dum = q - r;
        if (Abs(dum) < tiny)
		{
			dum = tiny;
		}
        u = bx - ((bx - cx) * q - (bx - ax) * r) / (2 * dum);
        ulim = bx + glimit * (cx - bx);
        if ((bx - u) * (u - cx) > 0)
		{
            fu = FunctionValue(u);
            if (fu < fc)
			{
                ax = bx;
                fa = fb;
                bx = u;
                fb = fu;
                return;
			}
            else
			{
				if (fu > fb)
				{
					cx = u;
					fc = fu;
					return;
				}
            }
            u = cx + gold * (cx - bx);
            fu = FunctionValue(u);
		}
        else
		{
			if ((cx - u) * (u - ulim) > 0)
			{
				fu = FunctionValue(u);
				if (fu < fc)
				{
					bx = cx;
					cx = u;
					u = cx + gold * (cx - bx);
					fb = fc;
					fc = fu;
					fu = FunctionValue(u);
				}
            }
			else
			{
				if ((u - ulim) * (ulim - cx) > 0 || FloatEqual((u - ulim) * (ulim - cx),0))
				{
					u = ulim;
					fu = FunctionValue(u);
				}
				else
				{
					u = cx + gold * (cx - bx);
					fu = FunctionValue(u);
				}
			}
		}
		ax = bx;
		bx = cx;
		cx = u;
		fa = fb;
		fb = fc;
		fc = fu;
	}
}

//確定一維函數(shù)極小值點所在區(qū)間(重載)
template <class _Ty>
int MinimizerInterval(_Ty& ax, _Ty& bx, _Ty& cx, int& sign, 
									_Ty b, _Ty& fa, _Ty& fb, _Ty& fc)
{
    _Ty r,q,dum,gold = GoldNo + 1.0;
    _Ty u,ulim,fu,tiny = 1e-20;
	int glimit = 100;

    fa = FunctionValue(ax);
    fb = FunctionValue(bx);
    if (fb > fa)
	{
		sign = -1;
		fa *= sign;
		fb *= sign;
    }
    cx = bx + gold * (bx - ax);
	fc = sign * FunctionValue(cx);
	while (fb >= fc)
	{
        r = (bx - ax) * (fb - fc);
        q = (bx - cx) * (fb - fa);
        dum = q - r;
        if (Abs(dum) < tiny)
		{
			dum = tiny;
		}
        u = bx - ((bx - cx) * q - (bx - ax) * r) / (2 * dum);
        ulim = bx + glimit * (cx - bx);
		if(u > b)	//超出f(x)右邊界
		{
			cout<<"  The MinimizerInterval exceed right border. Program is over!"<<endl;
			return 0;
		}
        if ((bx - u) * (u - cx) > 0)
		{
            fu = sign * FunctionValue(u);
            if (fu < fc)
			{
                ax = bx;
                fa = fb;
                bx = u;
                fb = fu;
                return 1;
			}
            else
			{
				if (fu > fb)
				{
					cx = u;
					fc = fu;
					return 1;
				}
            }
            u = cx + gold * (cx - bx);
            fu = sign * FunctionValue(u);
		}
        else
		{
			if ((cx - u) * (u - ulim) > 0)
			{
				fu = sign * FunctionValue(u);
				if (fu < fc)
				{
					bx = cx;
					cx = u;
					u = cx + gold * (cx - bx);
					fb = fc;
					fc = fu;
					fu = sign * FunctionValue(u);
				}
            }
			else
			{
				if ((u - ulim) * (ulim - cx) > 0 || FloatEqual((u - ulim) * (ulim - cx),0))
				{
					u = ulim;
					fu = sign * FunctionValue(u);
				}
				else
				{
					u = cx + gold * (cx - bx);
					fu = sign * FunctionValue(u);
				}
			}
		}
		ax = bx;
		bx = cx;
		cx = u;
		fa = fb;
		fb = fc;
		fc = fu;
	}
	return 1;
}

//1維函數(shù)極小值的黃金分割法
template <class _Ty>
_Ty ExtremumGold1D(_Ty ax, _Ty bx, _Ty cx, int sign, _Ty tol, _Ty& xmin)
{
    _Ty x0,x1,x2,x3,f0,f1,f2,f3,r = GoldNo;
    _Ty c = 1.0 - GoldNo;
    x0 = ax;
    x3 = cx;
    if (Abs(cx - bx) > Abs(bx - ax))
	{
		x1 = bx;
        x2 = bx + c * (cx - bx);
	}
    else
	{
        x2 = bx;
        x1 = bx - c * (bx - ax);
    }
    f1 = sign * FunctionValue(x1);
    f2 = sign * FunctionValue(x2);
    while (Abs(x3 - x0) > tol * (Abs(x1) + Abs(x2)))
	{
        if (f2 < f1)
		{
            x0 = x1;
            x1 = x2;
            x2 = r * x1 + c * x3;
            f0 = f1;
            f1 = f2;
            f2 = sign * FunctionValue(x2);
		}
        else
		{
            x3 = x2;
            x2 = x1;
            x1 = r * x2 + c * x0;
            f3 = f2;
            f2 = f1;
            f1 = sign * FunctionValue(x1);
        }
    }
    if (f1 < f2)
	{
        xmin = x1;
		if (sign == -1)
			f1 = sign * f1;
        return f1;
	}
    else
	{
        xmin = x2;
		if (sign == -1)
			f2 = sign * f2;
        return f2;
    }
}

//1維函數(shù)極小值點的不用導(dǎo)數(shù)布倫特(Brent)法
template <class _Ty>
_Ty ExtremumBrentNonDerivative1D(_Ty ax, _Ty bx, _Ty cx, int sign, 
												_Ty tol, _Ty& xmin)
{
    int done,iter,itmax = 100;
    _Ty d,fu,r,q,p,xm,tol1,tol2,a,b,cgold = 1.0 - GoldNo;
    _Ty u,etemp,dum,v,w,x,e,fx,fv1,fw,zeps = DOUBLEERROR;
    a = ax;
    if (cx < ax)
	{
		a = cx;
	}
    b = ax;
    if (cx > ax)
	{
		b = cx;
	}
    v = bx;
    w = v;
    x = v;
    e = 0.0;
    fx = sign * FunctionValue(x);
    fv1 = fx;
    fw = fx;
    for (iter = 1; iter<=itmax; iter++)
	{
        xm = 0.5 * (a + b);
        tol1 = tol * Abs(x) + zeps;
        tol2 = 2.0 * tol1;
        if (Abs(x - xm) <= tol2 - 0.5 * (b - a))
		{
			break;
		}
        done = -1;
        if (Abs(e) > tol1)
		{
            r = (x - w) * (fx - fv1);
            q = (x - v) * (fx - fw);
            p = (x - v) * q - (x - w) * r;
            q = 2.0 * (q - r);
            if (q > 0.0)
			{
				p = -p;
			}
            q = Abs(q);
            etemp = e;
            e = d;
            dum = Abs(0.5 * q * etemp);
            if (Abs(p) < dum && p > q * (a - x) && p < q * (b - x))
			{
                d = p / q;
                u = x + d;
                if (u - a < tol2 || b - u < tol2)
				{
                    d = Abs(tol1) * Sgn(xm - x);
                }
                done = 0;
            }
        }
        if (done)
		{
            if (x > xm || FloatEqual(x,xm))
			{
                e = a - x;
			}
            else
			{
                e = b - x;
            }
            d = cgold * e;
        }
        if (Abs(d) > tol1 || FloatEqual(d,tol1))
		{
            u = x + d;
		}
        else
		{
            u = x + Abs(tol1) * Sgn(d);
        }
        fu = sign * FunctionValue(u);
        if (fu < fx || FloatEqual(fu,fx))
		{
            if (u > x || FloatEqual(u,x))
			{
                a = x;
			}
            else
			{
                b = x;
            }
            v = w;
            fv1 = fw;
            w = x;
            fw = fx;
            x = u;
            fx = fu;
		}
        else
		{
            if (u < x)
			{
                a = u;
			}
            else
			{
                b = u;
            }
            if (fu < fw || FloatEqual(fu,fw) || FloatEqual(w,x))
			{
                v = w;
                fv1 = fw;
                w = u;
                fw = fu;
			}
            else
			{
				if (fu < fv1 || FloatEqual(fu,fv1) ||  FloatEqual(v,x) ||  FloatEqual(v,w))
				{
					v = u;
					fv1 = fu;
				}
            }
        }
    }
    if (iter > itmax)
	{
		cout<<" ExtremumBrentNonDerivative1D exceed maximum iterations."<<endl;
	}
    xmin = x;
    if(sign == -1) 
	{
		fx *= sign;
	}
	return fx;
}

#endif		// _EXTREMUM_INL

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品久久99久久久久| 国产精品二三区| 国产欧美精品国产国产专区| 《视频一区视频二区| 婷婷综合在线观看| 成人免费视频一区| 日韩一区二区三区视频在线| 亚洲裸体在线观看| 韩国在线一区二区| 91精品国产综合久久久久久久| 国产欧美一区二区三区鸳鸯浴| 日本sm残虐另类| 日本精品视频一区二区三区| 国产午夜亚洲精品羞羞网站| 日韩福利电影在线| 99视频精品全部免费在线| 国产欧美日韩亚州综合| 99热在这里有精品免费| 欧美mv日韩mv国产网站app| 欧美日韩在线不卡| 亚洲欧美在线aaa| 国产麻豆日韩欧美久久| 欧美日韩激情在线| 视频一区国产视频| 欧美在线播放高清精品| 中文字幕中文乱码欧美一区二区| 久久成人久久爱| 在线电影一区二区三区| 亚洲电影视频在线| 欧美婷婷六月丁香综合色| 亚洲人成7777| 欧美午夜免费电影| |精品福利一区二区三区| 成人激情午夜影院| 国产亚洲精品aa| 日本黄色一区二区| 91精品国产福利在线观看| 一区二区三区四区在线| 99re成人精品视频| 亚洲精品免费在线观看| 欧美日韩三级一区二区| 午夜伦欧美伦电影理论片| 欧美日韩综合在线免费观看| 午夜精品一区二区三区免费视频| 欧美色手机在线观看| 人人狠狠综合久久亚洲| 91精品国产麻豆| 国产精品亚洲专一区二区三区| 2020日本不卡一区二区视频| 国产成人99久久亚洲综合精品| 国产精品理论片| 色婷婷综合视频在线观看| 亚洲大片免费看| 欧美草草影院在线视频| 国产成人欧美日韩在线电影| 国产精品日日摸夜夜摸av| 99久久国产综合色|国产精品| 亚洲免费色视频| 欧美精品 国产精品| 韩国v欧美v日本v亚洲v| 国产女主播视频一区二区| 日本高清无吗v一区| 人禽交欧美网站| 国产精品国产馆在线真实露脸| 成人av在线电影| 亚洲二区在线视频| 免费成人结看片| 国产精品毛片大码女人| 色av一区二区| 精品一区二区免费在线观看| 中文字幕一区二区三区在线不卡| 色老汉av一区二区三区| 成人精品鲁一区一区二区| 亚洲国产成人va在线观看天堂| 精品国产一区二区三区四区四| www.亚洲在线| 美国一区二区三区在线播放| 中文字幕不卡一区| 日韩免费视频一区二区| 成人高清视频在线| 日韩高清不卡一区二区| 亚洲三级在线看| 26uuu亚洲| 在线看不卡av| 国产成人精品午夜视频免费| 亚洲黄色片在线观看| 久久久国产精品午夜一区ai换脸| 日本高清成人免费播放| 国产成人亚洲精品狼色在线| 日韩国产欧美视频| 亚洲视频在线观看一区| 久久久久国产精品免费免费搜索| 欧美在线免费观看亚洲| 国产91精品露脸国语对白| 美女看a上一区| 午夜精品免费在线| 亚洲青青青在线视频| 国产精品美女久久久久aⅴ| 日韩欧美国产麻豆| 欧美精品久久久久久久久老牛影院| 91在线精品一区二区| 国产成人精品亚洲午夜麻豆| 日本一区中文字幕| 亚洲电影第三页| 亚洲欧美乱综合| 亚洲欧美综合网| 国产精品美女久久久久久久 | 国产欧美日韩三级| 国产精品久久久久aaaa樱花| 日韩精品专区在线影院观看| 6080午夜不卡| 欧美精品xxxxbbbb| 欧美另类z0zxhd电影| 日本道精品一区二区三区| 91色porny蝌蚪| 91蜜桃传媒精品久久久一区二区| 国产成人综合在线观看| 国产精品一级黄| 午夜久久久久久久久| 亚洲国产视频一区二区| 6080日韩午夜伦伦午夜伦| 成人激情免费网站| www.亚洲人| 欧美视频中文字幕| 日韩欧美亚洲国产另类| 久久久久亚洲综合| 亚洲欧洲精品成人久久奇米网| 亚洲欧美激情插| 午夜精品久久久久久久蜜桃app| 亚洲视频在线观看一区| 亚洲一区二区中文在线| 洋洋av久久久久久久一区| 中文字幕乱码日本亚洲一区二区| 日韩欧美在线综合网| 久久网这里都是精品| 欧美一区二区网站| 国产成人亚洲综合a∨婷婷图片| 亚洲成人你懂的| 亚洲成人7777| 国产精品原创巨作av| 成人禁用看黄a在线| 欧美精品aⅴ在线视频| 中文久久乱码一区二区| 亚洲va国产va欧美va观看| 成人丝袜高跟foot| 欧美一区二区成人6969| 尤物在线观看一区| 国产美女视频一区| 91精品在线麻豆| 亚洲免费观看在线观看| 国产成人三级在线观看| 欧美不卡激情三级在线观看| 日韩中文字幕不卡| 国产99久久久久久免费看农村| 国产在线一区观看| 欧美色倩网站大全免费| 欧美成人激情免费网| 国产精品成人一区二区艾草| 一区二区三区资源| 亚洲激情自拍视频| 亚洲一区二区三区自拍| 国产一区二区三区在线观看精品 | 精品国产一区二区亚洲人成毛片| 国产亚洲自拍一区| 亚洲国产精品嫩草影院| 国产麻豆91精品| 欧美亚洲国产bt| 久久久亚洲综合| 五月天欧美精品| 99久久99精品久久久久久| 欧美精品粉嫩高潮一区二区| 中文字幕中文字幕一区二区| 蓝色福利精品导航| 欧美中文字幕亚洲一区二区va在线| 亚洲综合视频在线观看| 欧美亚男人的天堂| 欧洲在线/亚洲| 欧美理论片在线| 亚洲精品综合在线| 国产成人av一区| 日韩欧美一级片| 视频一区中文字幕| 色婷婷精品久久二区二区蜜臂av| 精品国产第一区二区三区观看体验 | 国产黄色91视频| 欧美一区二区三区四区在线观看| 亚洲精品成a人| 91在线观看高清| 国产精品少妇自拍| 粉嫩aⅴ一区二区三区四区| 欧美一二三区在线| 亚洲国产欧美在线| 91网站在线播放| 最好看的中文字幕久久| www.av精品| 亚洲1区2区3区视频| 91福利资源站| 夜夜操天天操亚洲| 欧美综合在线视频| 亚洲一区二区三区自拍|