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

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

?? extremum.inl

?? 主要是關于一些數(shù)值計算中所要用到的頭文件,希望對大家有所幫助
?? 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ù)極小值點的不用導數(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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产人妖乱国产精品人妖| 午夜精品久久久久久久99樱桃 | 丁香婷婷深情五月亚洲| 欧美又粗又大又爽| 国产日韩一级二级三级| 日本亚洲三级在线| 日本高清不卡一区| 日本一区二区三区国色天香| 蜜桃精品视频在线观看| 欧美午夜免费电影| 亚洲人精品午夜| 国产成人夜色高潮福利影视| 欧美一区二区网站| 亚洲国产婷婷综合在线精品| av在线综合网| 国产精品人成在线观看免费| 国产一区二区精品久久91| 日韩视频免费观看高清完整版在线观看 | 欧美肥大bbwbbw高潮| 亚洲三级在线免费| fc2成人免费人成在线观看播放| 欧美成人一区二区| 久久99久久久久久久久久久| 欧美日韩一本到| 亚洲一区成人在线| 色狠狠一区二区三区香蕉| 国产精品久久久久久久久快鸭| 久久精品国产99国产| 欧美日韩在线免费视频| 亚洲国产视频一区二区| 欧洲一区二区三区在线| 亚洲免费色视频| 99久久99久久综合| 亚洲色图视频网站| 色综合久久中文综合久久97| 亚洲精品视频在线看| 色综合久久中文综合久久97| 一区二区日韩av| 欧美日韩在线播放三区四区| 日日夜夜免费精品| 日韩一区二区在线观看视频播放| 日韩国产欧美在线播放| 91精品国产色综合久久久蜜香臀| 热久久国产精品| 欧美成人三级在线| 国产美女一区二区三区| 中文无字幕一区二区三区| 99精品国产热久久91蜜凸| 亚洲香蕉伊在人在线观| 91精品国产综合久久久久久久 | 欧美一区二区美女| 国模少妇一区二区三区| 国产精品网站在线播放| 色综合久久天天综合网| 视频一区欧美精品| 26uuu另类欧美亚洲曰本| 成人av手机在线观看| 亚洲国产精品久久人人爱蜜臀 | 欧美日韩美女一区二区| 国内精品久久久久影院色| 国产免费成人在线视频| 色综合久久久久综合体桃花网| 亚洲成人你懂的| 欧美成人福利视频| 99久久久精品免费观看国产蜜| 一区二区三区免费网站| 精品日韩99亚洲| 91蝌蚪porny九色| 麻豆精品新av中文字幕| 国产精品久久久久久久久久久免费看| 欧美亚洲综合另类| 国产成a人无v码亚洲福利| 亚洲免费视频中文字幕| 精品处破学生在线二十三| 91视视频在线直接观看在线看网页在线看| 亚洲成人午夜影院| 中文久久乱码一区二区| 欧美一区二区三区啪啪| 本田岬高潮一区二区三区| 日韩精品乱码av一区二区| 国产精品欧美经典| 精品日韩一区二区三区免费视频| 一本大道久久a久久精二百| 国内精品写真在线观看| 午夜亚洲国产au精品一区二区 | 久久久www免费人成精品| 欧美亚洲国产一区二区三区va| 韩国成人在线视频| 日韩国产精品久久久久久亚洲| 亚洲视频免费在线| 久久你懂得1024| 777亚洲妇女| 色噜噜狠狠色综合欧洲selulu| 国产**成人网毛片九色| 精品在线免费视频| 日日摸夜夜添夜夜添亚洲女人| 亚洲色图.com| 综合亚洲深深色噜噜狠狠网站| 久久美女高清视频| 欧美tickle裸体挠脚心vk| 日韩视频免费直播| 欧美日本高清视频在线观看| 在线观看免费亚洲| 一本一道久久a久久精品综合蜜臀| 国产成人在线视频免费播放| 久久疯狂做爰流白浆xx| 亚洲欧洲另类国产综合| 中文字幕第一区综合| 国产亚洲视频系列| 久久网站热最新地址| 精品美女在线播放| 精品国产人成亚洲区| 日韩视频免费直播| 日韩一级片在线观看| 欧美一区二区三区不卡| 69堂成人精品免费视频| 欧美日韩综合色| 在线综合+亚洲+欧美中文字幕| 欧美日韩不卡一区| 7777精品伊人久久久大香线蕉经典版下载 | 日本久久精品电影| 91久久一区二区| 欧美中文字幕一二三区视频| 欧美日韩亚洲综合一区| 666欧美在线视频| 日韩午夜激情av| 亚洲精品一区二区三区影院 | 欧美丰满高潮xxxx喷水动漫| 91精品国产综合久久精品| 日韩欧美二区三区| 精品1区2区在线观看| 国产日本一区二区| 亚洲女性喷水在线观看一区| 一区二区三区色| 日韩电影在线一区二区三区| 在线亚洲免费视频| 精品视频一区三区九区| 日韩美女一区二区三区| 国产精品私人影院| 一区二区三区四区不卡视频| 蜜乳av一区二区| 国产91精品在线观看| 色噜噜夜夜夜综合网| 日韩欧美一级片| 中文字幕电影一区| 天天综合日日夜夜精品| 国产美女娇喘av呻吟久久| 欧美xingq一区二区| 亚洲国产激情av| 亚洲gay无套男同| 国产一区二区三区免费| 日本精品一区二区三区高清 | 精品在线观看免费| 91麻豆文化传媒在线观看| 91精品国产91久久久久久一区二区 | 国产一区二区三区综合| 在线欧美小视频| 26uuu亚洲综合色| 亚洲午夜精品在线| 国产成人精品一区二区三区四区| 在线精品视频免费播放| 久久精品一区二区三区不卡牛牛| 亚洲国产一区在线观看| 国产成人综合亚洲网站| 欧美一区二区免费视频| 亚洲手机成人高清视频| 国产精品资源网| 欧美美女一区二区三区| 综合久久一区二区三区| 国产精一区二区三区| 欧美日韩五月天| 亚洲私人黄色宅男| 国产精品99久久久久久久女警| 欧美高清视频不卡网| 亚洲女爱视频在线| 高清视频一区二区| 精品国产三级a在线观看| 天天爽夜夜爽夜夜爽精品视频| 91年精品国产| 欧美国产日本视频| 国产自产视频一区二区三区| 91精品国产综合久久精品性色| 亚洲精品伦理在线| av午夜精品一区二区三区| 久久久精品国产免大香伊| 久久国产日韩欧美精品| 这里只有精品视频在线观看| 亚洲影视资源网| 日本丶国产丶欧美色综合| 亚洲男同1069视频| 97精品超碰一区二区三区| 中文字幕在线一区| 本田岬高潮一区二区三区| 欧美国产激情二区三区| 国产成人自拍在线| 国产精品网站在线| 久久久一区二区三区捆绑**| 精品一区二区久久久| www久久久久| 国产剧情在线观看一区二区|