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

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

?? curvefitunit.pas

?? 最小二乘相關(guān)介紹,最小二乘相關(guān)介紹,及其原程序!仔細(xì)整理收獲不少!
?? PAS
字號:
unit CurveFitUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
  Dialogs, Math;

type
	TDoubleXY = record
  	x: Double;
    y: Double;
  end;
  TDoubleArray = array of Double;

  procedure LSFit(const k: Integer; const XYList: array of TDoubleXY; var si,p,be,al,s: TDoubleArray; l: Boolean=true);

implementation

{ ***************************************************************************
Name: 最小二乘曲線擬合
Function: 本過程用于求列表函數(shù)在最小二乘意義下的最佳擬合廣義多項式和與此等價
      的冪多項式。它自動選擇擬合多項式的“最佳”次數(shù)。
ToDo: 設(shè)給定n個點 X1<X2<...<Xn 上的函數(shù)值 Y1,Y2,...,Yn 和與函數(shù)值的標(biāo)準(zhǔn)誤差平
      方成反比的權(quán) W1,W2,。。。,Wn,我們構(gòu)造 m(m≤n-1)次多項式:
              Ym(x) = C0P0(x) + c1P1(x) + ... + CmPm(x)                   (1)
      使
              (σm)^2 = ∑Wi(Ym(Xi)-Yi)^2,   i=1,2,...,n                  (2)
      取極小,這里 Pr(x) 是關(guān)于權(quán) Wi 滿足正交條件
              ∑WiPr(Xi)Ps(Xi) = 0,    r≠s, i=1,2,...,n                  (3)
      的 r 次多項式。

      導(dǎo)出正規(guī)方程組并利用正交條件(3),得到:
              Cj = ∑WiYiPj(Xi) / ∑Wi(Pj(Xi))^2,   j=0,1,...,m           (4)
      正交多項式 Pj(x)可用如下遞推公式計算:
              P0(x) = 1,
              P1(x) = (x-α1)P0(x),
              Pj+1(x) = (x-αj+1)Pj(x) - βjPj-1(x),   j=1,2,...,m-1,
      其中
              αj+1 = (∑WiXi(Pj(Xi))^2)/(∑Wi(Pj(Xi))^2),
              βj   = (∑Wi(Pj(Xi))^2)/(∑Wi(Pj-1(Xi))^2).

      這樣,由(4)計算用正交多項式表示的廣義多項式的系數(shù),再利用正交多項式的遞
      推公式計算 Pj(x) 之后,代入(1)并展開,就能得到與廣義多項式(1)等價的冪多
      項式:
              Q(x) = D0 + D1X + ... + DmX^m.

      結(jié)合光滑度和逼近度,尋找擬合多項式的“最佳”次數(shù) h(h≤m)。先計算平均平
      方誤差 δh = (σh)^2/(n-h-1),如果當(dāng)擬合多項式次數(shù)逐次增加,h 是第一次
      使 δh≤δh+1 且 δj>0.6δh(m≥j>h+1) 的擬合多項式的次數(shù),則 h 是“最
      佳”次數(shù);如果 δh≤δh+1,但 δj≤0.6δh(j>h+1),則“最佳”次數(shù)是j。

      另外,利用公式(1),(2),(3)和(4)可以導(dǎo)出計算 (σi)^2 的遞推公式:
              (σi)^2 = ∑Wj[Yi-1(Xj) + CiPi(Xj) - Yi]^2
                      = (σi-1)^2 - 2Ci∑WjPi(Xj)Yj + (Ci)^2 ∑Wj(Pi(Xj))^2
                      = (σi-1)^2 - (Ci)^2 ∑Wj(Pi(Xj))^2

      式中:
              j=1,2,...,n

Params:
      n       給定點的個數(shù)。
      k       表示用次數(shù)小于等于k的多項式進行擬合。
      x       數(shù)組x[0..n-1],存放給定點,要求:
                  x[i] < x[i+1],    i=0,1,...,n-2。
      f       數(shù)組f[0..n-1],存放給定點上的函數(shù)值。
      w       數(shù)組w[0..n-1],存放給定點上的權(quán)。
      si      數(shù)組si[0..k],存放平均平方誤差,即
                  si[j] = δj,    j=0,1,...,k。
      p       數(shù)據(jù)p[0..k],存放冪多項式系數(shù),p[i]是x^i的系數(shù),i=0,1,..,k。
      l       布爾量。如果l為假,則自動選擇“最佳”次數(shù);如果l為真,則用k次
              多項式進行擬合。
      al      數(shù)組al[0..k-1],存放αi。
      be      數(shù)組be[0..k],存放βi。
      s       數(shù)組s[0..k],存放廣義多項式的系數(shù)Ci。

      說明:   為了方便使用,這里采用了參數(shù) XYList 來代替 x和f 數(shù)組存放給定點
              和給定點上的函數(shù)值,給定點的個數(shù) n 已經(jīng)隱含在參數(shù) XYList 中了。
              給定點上的權(quán)數(shù)組 w 恒設(shè)為1。
              調(diào)用本函數(shù)時,用戶只需聲明 si,p,be,al,s 參數(shù),可以不為其分配存
              儲空間,本函數(shù)內(nèi)部將自動為它們分配適當(dāng)?shù)拇鎯臻g。

              請務(wù)必保證---- n ≥k+2

*************************************************************************** }

procedure PolyX(a,b: Double; var c,d: TDoubleArray; m,n: Integer);
var
  i,j,k: Integer;
  z,w: TDoubleArray;
begin
  SetLength(z,m+1);
  SetLength(w,m+1);

  z[0] := 1.0;
  w[0] := 1.0;
  d[0] := c[0];

  for i := 1 to n do
  begin
    w[i] := 1.0;
    z[i] := b * z[i-1];
    d[0] := d[0] + c[i] * z[i];
  end;

  for j := 1 to n do
  begin
    w[0] := w[0] * a;
    d[j] := c[j] * w[0];
    k := 1;
    for i := j+1 to n do
    begin
      w[k] := a * w[k] + w[k-1];
      d[j] := d[j] + c[i] * w[k] * z[k];
      Inc(k);
    end;
  end;
end;

procedure LSFit(const k: Integer; const XYList: array of TDoubleXY; var si,p,be,al,s: TDoubleArray; l: Boolean=true);
var
  i,j,n: Integer;
  w: TDoubleArray;
  ctp,cpsave,cp: TDoubleArray;
  lp,tp: TDoubleArray;
  clp: TDoubleArray;
  du,delsq,om,lw,tw,simin,a,b: Double;
  swx,comp: Boolean;

  x,f: TDoubleArray;
Label
  L1;
begin
  n := Length(XYList);
  SetLength(x,n);             //0~n-1
  SetLength(f,n);
  SetLength(w,n);
  for i := 0 to n-1 do
  begin
    x[i] := XYList[i].x;
    f[i] := XYList[i].y;
    w[i] := 1.0;
  end;

  SetLength(ctp,k+1);         //0~k
  SetLength(cpsave,k+1);
  SetLength(cp,k+1);

  SetLength(lp,n);            //0~n-1
  SetLength(tp,n);

  SetLength(clp,k+2);

  SetLength(si,k+1);          //0~k
  SetLength(p,k+1);
  SetLength(be,k+1);
  SetLength(al,k);            //0~k-1
  SetLength(s,k+1);           //0~k

  for i := 0 to k do cp[i] := 0;
  simin := 0;
  swx := true;
  be[0] := 0;
  clp[0] := 0;
  clp[1] := 0;                //-1
  delsq := 0;
  om := 0;
  ctp[0] := 1.0;
  tw := 0;
  comp := false;

  for i := 0 to n-1 do        //1-n
  begin
    tp[i] := 1.0;
    lp[i] := 0;
    delsq := delsq + w[i] * Power(f[i],2);
    om := om + w[i] * f[i];
    tw := tw + w[i];
  end;

  cp[0] := om / tw;
  s[0] := cp[0];
  delsq := delsq - s[0] * om;
  si[0] := delsq / (n-1);
  a := 4.0 / (x[n-1]-x[0]);   //n,1
  b := -2 - a * x[0];

  for i := 0 to n-1 do        //1-n
    x[i] := a * x[i] + b;

  for i := 0 to k-1 do
  begin
    du := 0;
    for j := 0 to n-1 do      //1-n
      du := du + w[j] * x[j] * Power(tp[j],2);
    al[i] := du / tw;
    lw := tw;
    tw := 0;
    om := 0;

    for j := 0 to n-1 do      //1-n
    begin
      du := be[i] * lp[j];
      lp[j] := tp[j];
      tp[j] := (x[j] - al[i]) * tp[j] - du;
      tw := tw + w[j] * Power(tp[j],2);
      om := om + w[j] * f[j] * tp[j];
    end;

    be[i+1] := tw / lw;
    s[i+1] := om / tw;
    delsq := delsq - s[i+1] * om;
    si[i+1] := delsq / (n-i-1);

    if l then goto L1;
    if not comp then
    begin
      if swx then
      begin
        if si[i+1] >= si[i] then
        begin
          swx := false;
          simin := si[i];
          for j := 0 to k do
            cpsave[j] := cp[j];
        end;
        goto L1;
      end;

      if si[i+1] < 0.6*simin then comp := true;
L1:
      for j := 0 to i do
      begin
        du := clp[j] * be[i];
        clp[j] := ctp[j];
        if j = 0 then
          ctp[j] := 0 - al[i] * ctp[j] - du
        else
          ctp[j] := clp[j-1] - al[i] * ctp[j] - du;
        cp[j] := cp[j] + s[i+1] * ctp[j];
      end;

      cp[i+1] := s[i+1];
      ctp[i+1] := 1.0;
      clp[i+1] := 0;
      if (not (comp or swx)) and (i = k-1) then
      begin
        for j := 0 to k do
          cp[j] := cpsave[j];
      end;
    end;
  end;

  PolyX(a,b,cp,p,n,k);
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久精品午夜一区二区| 久久精品国产99国产| 日韩黄色一级片| 制服丝袜在线91| 蜜臀av亚洲一区中文字幕| 欧美变态tickling挠脚心| 性做久久久久久| 欧美日韩在线一区二区| 国产精品一区二区黑丝| 91精品婷婷国产综合久久 | 国产一区二区免费看| 色婷婷av一区二区三区大白胸| 播五月开心婷婷综合| 欧美日本不卡视频| 91色九色蝌蚪| 久久免费偷拍视频| 日韩在线卡一卡二| 91麻豆免费观看| 久久综合久久综合久久综合| 日韩av电影免费观看高清完整版 | 亚洲老妇xxxxxx| 在线一区二区三区做爰视频网站| 国产综合久久久久久久久久久久| 亚洲日本va午夜在线电影| 欧美mv日韩mv国产网站app| 不卡一区在线观看| 国产精品色一区二区三区| 99久精品国产| 欧美精品一区二区三区高清aⅴ | 日韩一区二区三区四区| 成人午夜激情影院| 欧美一区中文字幕| 欧美日韩一区二区三区四区五区| 成人激情午夜影院| 午夜精品一区二区三区免费视频| 国产农村妇女毛片精品久久麻豆| 日韩免费高清av| 精品成人在线观看| 美美哒免费高清在线观看视频一区二区 | 1024成人网| 欧美亚洲一区三区| 亚洲一区二区三区四区五区黄| 久久久久97国产精华液好用吗| 国产午夜精品久久| 一区二区三区成人| 欧美午夜在线一二页| 国产精品国产馆在线真实露脸 | 免费观看在线综合色| 欧美日韩国产经典色站一区二区三区| 这里只有精品99re| 一区二区三区在线看| 亚洲高清视频在线| 国产河南妇女毛片精品久久久| 91在线高清观看| 精品国产一区二区国模嫣然| 亚洲日本一区二区| 亚洲人成影院在线观看| 欧美一区二区精品在线| 日韩av中文字幕一区二区| 日韩美女主播在线视频一区二区三区 | 欧美图片一区二区三区| 天堂久久久久va久久久久| 精品女同一区二区| 国产成人免费视频精品含羞草妖精 | 日韩欧美中文字幕精品| 国产成人在线网站| 亚洲一区二区三区四区五区黄 | 欧美年轻男男videosbes| 久久99日本精品| 综合中文字幕亚洲| 日韩色视频在线观看| 成人一级片网址| 午夜久久久久久| 亚洲国产精品黑人久久久| 欧美日韩精品欧美日韩精品| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 久久蜜桃av一区二区天堂| 国产精品人妖ts系列视频| 免费成人在线影院| 欧美另类久久久品| 欧美大片一区二区三区| 亚洲精品第一国产综合野| 懂色一区二区三区免费观看| 久久蜜桃av一区精品变态类天堂| 国产不卡免费视频| 亚洲免费观看视频| 日韩欧美另类在线| 欧美在线观看一二区| 国产一区二区伦理片| 舔着乳尖日韩一区| 亚洲女人小视频在线观看| 久久久99久久| 日韩一区二区电影网| 欧美日韩国产另类不卡| 91美女在线看| 成人午夜av在线| 国产综合久久久久久鬼色| 日日夜夜免费精品视频| 亚洲欧美电影一区二区| 欧美国产精品一区二区三区| 日韩精品一区二区三区老鸭窝 | 国产精品久久久久久久岛一牛影视| 91精品国产综合久久久久久漫画 | 久久人人爽人人爽| 欧美一区午夜视频在线观看 | 久久综合资源网| 日韩西西人体444www| 欧美色综合久久| 91黄色在线观看| 欧美主播一区二区三区| 91麻豆国产香蕉久久精品| 99久久精品国产精品久久| 成人网在线播放| 成人高清免费观看| 成人avav影音| 色伊人久久综合中文字幕| av一区二区不卡| 99久久精品情趣| 91蜜桃婷婷狠狠久久综合9色| 91蜜桃传媒精品久久久一区二区| 色偷偷一区二区三区| 色欧美片视频在线观看| 欧美在线免费视屏| 91麻豆精品国产91久久久 | 欧美在线观看一区| 欧美三级韩国三级日本三斤| 欧美日韩亚洲综合在线| 欧美一区二区在线播放| 日韩欧美你懂的| 国产欧美日韩中文久久| 中文字幕一区日韩精品欧美| 亚洲美女区一区| 亚洲第一成人在线| 久久精品国产秦先生| 大胆欧美人体老妇| 欧美mv日韩mv| 久久人人超碰精品| 中文字幕一区二区三区不卡| 亚洲资源中文字幕| 奇米影视一区二区三区| 国产一区二区伦理片| 色婷婷久久综合| 日韩三级视频中文字幕| 欧美韩国一区二区| 亚洲国产一区二区三区| 久久精品理论片| 成人动漫av在线| 欧美老女人在线| 国产日韩影视精品| 亚洲国产一区二区视频| 国产精品一区在线观看你懂的| 99热精品国产| 欧美丰满美乳xxx高潮www| 国产欧美精品一区二区色综合朱莉| 亚洲视频电影在线| 久久精品国产久精国产| 99久久精品国产麻豆演员表| 日韩视频免费直播| 亚洲精品视频在线观看网站| 国产主播一区二区| 在线观看视频一区二区| 久久精品网站免费观看| 偷窥国产亚洲免费视频| www.亚洲色图.com| 日韩欧美色综合网站| 亚洲国产一区二区在线播放| 成人性生交大合| 91精品国产麻豆| 亚洲中国最大av网站| 粗大黑人巨茎大战欧美成人| 91精品国产手机| 亚洲免费在线视频一区 二区| 精品中文字幕一区二区小辣椒| 日本道在线观看一区二区| 国产欧美日韩视频一区二区 | 成人av网址在线| 精品电影一区二区| 日韩和欧美一区二区| 一本到一区二区三区| 中文在线免费一区三区高中清不卡| 免费成人美女在线观看.| 91日韩一区二区三区| 国产免费观看久久| 国产一区二区美女| 精品国产91九色蝌蚪| 麻豆国产精品一区二区三区| 欧美三级视频在线| 亚洲成av人影院在线观看网| 色94色欧美sute亚洲线路一久| 国产精品热久久久久夜色精品三区| 激情伊人五月天久久综合| 日韩三级在线免费观看| 日本亚洲三级在线| 欧美一级视频精品观看| 免费成人av资源网| 日韩欧美视频在线| 狠狠色丁香婷综合久久| 337p粉嫩大胆色噜噜噜噜亚洲| 蜜桃av噜噜一区二区三区小说| 日韩精品一区二区三区视频播放 |