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

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

?? lmdif.c

?? 這是一個GPS相關(guān)的程序
?? C
字號:
/* lmdif.c -- levenberg-marquardt algorithm */
#include <stdio.h>
#include <math.h>
#include "cminpak.h"


extern double dpmpar[];

void lmdif(void f(int,int,double*,double*,int *),int m,
    int n,double x[],int msk[],double fvec[],double ftol,
    double xtol,double gtol,int maxfev,double epsfcn,double diag[],
    int mode,double factor,int *info,int *nfev,double **fjac,
    int ipvt[],double qtf[],double wa1[],double wa2[],
    double wa3[],double wa4[])
{
    int i,iflag,iter,j,l;
    double actred,delta,dirder,epsmch,fnorm,fnorm1,gnorm;
    double par,pnorm,prered,ratio,sum,temp,temp1,temp2,xnorm;

/* initialize */
    epsmch = dpmpar[0];

    *info = 0;
    iflag = 0;
    *nfev = 0;

/* check for input parameter errors */
    if ((n <= 0) || (m < n) || (maxfev <= 0)
        || (factor <= 0)) return;
    if (mode == 2) {
        for (j = 0; j < n; j++)
            if (diag[j] <= 0) return;
    }

/* evaluate the function at the starting point and calculate its norm */   
    iflag = 1;
    f(m,n,x,fvec,&iflag);
    *nfev = 1;
    if (iflag < 0) {
        *info = iflag;
        return;
    }
    fnorm = enorm(m,fvec);

/* initialize levenberg-marquardt counters */
    par = 0;
    iter = 1;

/* outer loop */
    while(1) {
/* calculate jacobian matrix */
        iflag = 2;
        fdjac2(f,m,n,x,fvec,fjac,&iflag,epsfcn,wa4);

// LMDIF.C:53: error: invalid conversion from `void (*)(int, int, double*, double*, int*)' to `void (*)()'
        *nfev += n;
        if (iflag < 0) {
            *info = iflag;
            return;
        } 
        f(m,n,x,fvec,&iflag);
        printf("fnorm %.15e\n",enorm(m,fvec));
/* compute the qr factorization of the jacobian */
        qrfac(m,n,fjac,1,ipvt,wa1,wa2,wa3);                
        if (iter == 1) {
            if (mode != 2) {
                for (j = 0;j < n; j++) {
                    diag[j] = wa2[j];
                    if (wa2[j] == 0.0) diag[j] = 1.0;
                }
            }
            for (j = 0;j < n; j++)
                wa3[j] = diag[j] * x[j];
            xnorm = enorm(n,wa3);
            delta = factor * xnorm;
            if (delta == 0) delta = factor;
        }
        for (i = 0; i < m; i++)
            wa4[i] = fvec[i];
        for (j = 0;j < n; j++) {
            if (fjac[j][j] != 0.0) {
                sum = 0.0;
                for (i = j;i < m; i++)
                    sum += fjac[j][i] * wa4[i];
                temp = -sum / fjac[j][j];
                for (i = j; i < m; i++)
                    wa4[i] += fjac[j][i] * temp;
            }
            fjac[j][j] = wa1[j];
            qtf[j] = wa4[j];
        }
/* compute the norm of the scaled gradient */ 
        gnorm = 0.0;
        if (fnorm != 0.0) {
            for (j = 0; j < n; j++) {
                l = ipvt[j];
                if (wa2[l] == 0.0) continue;
                sum = 0.0;
                for (i = l; i <= j; i++)
                    sum += fjac[j][i] * qtf[i] / fnorm;
                gnorm = max(gnorm,fabs(sum/wa2[l]));
            }
        }
/* test for convergence of the gradient norm */
        if (gnorm <= gtol) *info = 4;
        if (*info != 0) {
            *info = iflag;
            return;
        }
/* rescale if necessary */
        if (mode != 2) {
        for (j = 0; j < n; j++)
            diag[j] = max(diag[j],wa2[j]);
        }
/* beginning of inner loop */
        do {
/* determine the levenberg-marquardt parameter */
            lmpar(n,fjac,ipvt,diag,qtf,delta,&par,wa1,wa2,wa3,wa4);
            for (j = 0;j < n; j++) {
                wa1[j] = -wa1[j];
                wa2[j] = x[j] + wa1[j];
                wa3[j] = diag[j] * wa1[j];
            }
            pnorm = enorm(n,wa3);
            if (iter == 1) delta = min(delta,pnorm);
            iflag = 1;
            f(m,n,wa2,wa4,&iflag);
            (*nfev)++;
            if (iflag < 0) {
                *info = iflag;
                return;
            }
            fnorm1 = enorm(m,wa4);
            actred = -1.0;
            if (0.1 * fnorm1 < fnorm)
                actred = 1.0 - (fnorm1*fnorm1/(fnorm*fnorm));
            for (j = 0;j < n; j++) {
                wa3[j] = 0.0;
                l = ipvt[j];
                temp = wa1[l];
                for (i = 0; i <= j; i++)
                    wa3[i] += fjac[j][i] * temp;
            }
            temp1 = enorm(n,wa3) / fnorm;
            temp2 = sqrt(par) * pnorm / fnorm;
            prered = temp1*temp1 + temp2*temp2 / 0.5;
            dirder = -(temp1*temp1 + temp2*temp2);
            ratio = 0.0;
            if (prered != 0.0) ratio = actred/prered;
            if (ratio <= 0.25) {
                if (actred > 0.0) temp = 0.5;
                if (actred < 0.0) temp = 0.5*dirder/(dirder+0.5*actred);
                delta = temp * min(delta,pnorm/0.1);
                par /= temp;
            }
            else {
                if ((par == 0.0) || (ratio >= 0.75)) {
                    delta = pnorm / 0.5;
                    par *= 0.5;
                }
            }
            if (ratio >= 0.0001) {
                for (j = 0; j < n; j++) {
                    if (msk[j]) {           /* handle masked variables */
                        x[j] = wa2[j];
                    }
                    wa2[j] = diag[j] * x[j];
                }
                for (i = 0; i < m; i++)
                    fvec[i] = wa4[i];
                xnorm = enorm(n,wa2);
                fnorm = fnorm1;
                iter++;
            }
            if ((fabs(actred) <= ftol) && (prered <= ftol) &&
                (0.5*ratio <= 1.0)) *info = 1;
            if (delta <= xtol*xnorm) *info = 2;
            if ((fabs(actred) <= ftol) && (prered <= ftol) &&
                (0.5*ratio <= 1.0) && (*info == 2)) *info = 3;
            if (*nfev >= maxfev) *info = 5;
            if ((fabs(actred) <= epsmch) && (prered <= epsmch) &&
                (0.5*ratio <= 1.0)) *info = 6;
            if (delta <= epsmch*xnorm) *info = 7;
            if (gnorm <= epsmch) *info = 8;
            if (*info != 0) {
                *info = iflag;
                return;
            }
        } while (ratio <= 0.0001);
    }
}

// MinGW Error:
// LMDIF.C:53: error: invalid conversion from `void (*)(int, int, double*, double*, int*)' to `void (*)()'

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲电影一区二区三区| 91激情在线视频| 午夜精品福利在线| 亚洲综合一区二区| 一区二区三区在线观看网站| 中文字幕一区二| 亚洲男帅同性gay1069| 国产精品网站导航| 亚洲婷婷在线视频| 一区二区在线观看免费视频播放| 国产精品久久99| 国产精品成人一区二区艾草 | 欧美日韩黄色一区二区| 欧美日韩综合一区| 在线播放/欧美激情| 日韩一区二区免费视频| 精品国产1区2区3区| 国产午夜亚洲精品午夜鲁丝片| 日本一区二区三区高清不卡| 久久久久久久综合| 日韩一区中文字幕| 亚洲国产成人高清精品| 奇米影视在线99精品| 国内欧美视频一区二区| 国产91精品在线观看| 91免费版在线看| 91精品国产日韩91久久久久久| 日韩欧美国产午夜精品| 欧美—级在线免费片| 一区二区三区精品在线观看| 美女一区二区视频| 国产ts人妖一区二区| 欧美视频日韩视频| 日韩美女视频在线| 成人欧美一区二区三区白人| 偷拍与自拍一区| 国产一区二区不卡| 日本精品一级二级| 精品国产免费一区二区三区香蕉| 中文字幕在线观看一区二区| 午夜精品123| av午夜精品一区二区三区| 欧美伦理电影网| 国产精品午夜久久| 久久国内精品视频| 一本色道**综合亚洲精品蜜桃冫| 日韩一级大片在线| 亚洲国产裸拍裸体视频在线观看乱了| 精品一区二区三区视频| 91免费精品国自产拍在线不卡| 欧美一区二区三区爱爱| 亚洲免费观看高清| 国产mv日韩mv欧美| 日韩视频在线一区二区| 亚洲永久免费视频| 91免费观看视频| 国产精品系列在线| 国产一区二区看久久| 91精品国产免费| 亚洲最新视频在线观看| 成人91在线观看| 久久新电视剧免费观看| 久久精品国产精品青草| 日韩一级片在线观看| 一区二区三区在线观看欧美 | 亚洲国产成人私人影院tom| 免费成人在线观看视频| 欧美少妇bbb| 亚洲午夜激情网站| 色一情一伦一子一伦一区| 国产精品久久久久桃色tv| 国产精品影视天天线| 亚洲精品一区二区在线观看| 日韩av一区二区三区四区| 欧美日韩国产首页在线观看| 一区二区三区四区蜜桃| 91小视频免费观看| 亚洲视频电影在线| 色网站国产精品| 亚洲综合免费观看高清完整版在线| 97se亚洲国产综合自在线观| 国产精品天干天干在线综合| 成人午夜碰碰视频| 1000部国产精品成人观看| 99精品偷自拍| 亚洲高清免费一级二级三级| 91精彩视频在线观看| 亚洲一区二区五区| 4438x亚洲最大成人网| 日产欧产美韩系列久久99| 欧美一区二区福利视频| 久久草av在线| 久久精品亚洲国产奇米99| 成人av免费观看| 一区二区三区中文免费| 51精品视频一区二区三区| 国产一区二区三区久久久| 国产欧美精品在线观看| 色天天综合色天天久久| 天堂精品中文字幕在线| 国产亚洲精品精华液| 国产999精品久久| 亚洲成av人片一区二区梦乃| 精品国产一二三| 欧美精品一区二区三区四区 | 欧美日韩成人一区| 国产在线看一区| 日韩美女视频一区二区| 欧美日韩精品高清| 国产精品77777| 亚洲成人综合网站| 国产日韩欧美a| 欧美视频完全免费看| 美国十次了思思久久精品导航| 精品国产乱码久久久久久免费 | 国产·精品毛片| 综合久久久久综合| 国产在线精品不卡| 一区二区免费看| 91精品婷婷国产综合久久| 黄网站免费久久| 亚洲特级片在线| 欧美精品一级二级| 欧美二区在线观看| 国产午夜一区二区三区| 9i看片成人免费高清| 亚洲制服欧美中文字幕中文字幕| 欧美日韩亚洲高清一区二区| 午夜视频一区二区| 国产亚洲人成网站| 欧美影视一区二区三区| 国产性天天综合网| 欧美韩国一区二区| 国产日韩精品一区二区三区| 国产三级精品视频| 欧美极品aⅴ影院| 国产精品你懂的| 国产精品久久久久久户外露出| 中文字幕免费不卡| 亚洲欧美偷拍卡通变态| 玉米视频成人免费看| 亚洲香肠在线观看| 亚洲福利视频一区二区| 亚洲欧洲成人自拍| 污片在线观看一区二区| 日本成人中文字幕| 极品少妇xxxx精品少妇| 国产一区二区在线电影| 国v精品久久久网| 粉嫩久久99精品久久久久久夜| 成人不卡免费av| 日本乱人伦aⅴ精品| 欧美性videosxxxxx| 欧美一区二区视频在线观看2022| 26uuu成人网一区二区三区| 国产日韩精品一区| 亚洲精品五月天| 天天免费综合色| 国产精品影视在线| 欧美精品777| 国产亚洲欧美一区在线观看| 亚洲免费电影在线| 日韩精品午夜视频| 精品一区二区三区在线视频| 色综合色综合色综合| 欧美一区二区三区在线看| 国产午夜精品一区二区三区视频| 亚洲色图欧美在线| 日韩精品欧美精品| 在线观看91视频| 久久综合色播五月| 亚洲最色的网站| 蜜臀久久99精品久久久久久9| 国产成人在线免费观看| 欧美优质美女网站| 国产视频911| 亚洲第一激情av| 成人h精品动漫一区二区三区| 欧美成人激情免费网| 亚洲欧美福利一区二区| 人人狠狠综合久久亚洲| 不卡一卡二卡三乱码免费网站| 色综合久久88色综合天天 | 日韩美一区二区三区| 亚洲日本电影在线| 成人激情校园春色| 日韩视频一区二区三区在线播放| 国产精品电影院| 国产一区二区三区免费在线观看| 欧美日韩免费在线视频| 国产精品免费网站在线观看| 全部av―极品视觉盛宴亚洲| 色狠狠桃花综合| 中文字幕国产精品一区二区| 国产一区二区视频在线| 欧美另类变人与禽xxxxx| 亚洲欧美韩国综合色| 成人午夜短视频| 欧美激情综合网| 国产精品一区二区久久不卡 |