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

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

?? unit2.pas

?? delphi數值算法集光盤源代碼,用于delphi7科學出版社出版.
?? PAS
字號:
unit Unit2;

interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls,unit1, Forms, Dialogs;
Function GASDEV:real;
Procedure SVDVAR(V:matrx2; MA, NP:integer; W:array of real;
                  var CVM:matrx2; NCVM:integer);
Procedure SVDFIT(X, Y, SIG:array of real; NDATA:integer;
    var A:array of real; MA:integer;var U, V:matrx2;var W:array of real;
     MP, NP:integer;var CHISQ:real; FUNCS:string);

implementation
Function GASDEV:real;
var
   V1,V2,FAC,R:real;
begin
    If ISET^= 0 Then
    begin
      repeat
        V1:=2 * Random - 1;
        V2:=2 * Random - 1;
        R:=Sqr(V1) + Sqr(V2);
      until (R < 1);
      FAC:=Sqrt(-2 * Ln(R) / R);
      GSET^:=V1 * FAC;
      GASDEV:=V2 * FAC;
      ISET^:=1;
    end
    Else
    begin
      GASDEV:=GSET^;
      ISET^:=0;
    end;
end;

procedure SVDCMP(A:matrx2; M, N:integer;var W:array of real; V:matrx2);
label 1,2,3;
var
    RV1:array [0..100] of real;
    I,J,L,ITS,JJ,NM,K:integer;
    G,S,SCALE1,C,F,H,X,Y,Z,Sgn,ANORM,AAAAA:real;
begin
    If M < N Then
         ShowMessage('You must augment A with extra zero rows.');
    G:=0;
    SCALE1:=0;
    ANORM:=0;
    For I:=1 To N do
    begin
        L:=I + 1;
        RV1[I]:=SCALE1 * G;
        G:=0;
        S:=0;
        SCALE1:=0;
        If I <= M Then
        begin
            For K:=I To M do
                SCALE1:=SCALE1 + Abs(A[K, I]);
            If SCALE1 <> 0 Then
            begin
                For K:=I To M do
                begin
                    A[K, I]:=A[K, I] / SCALE1;
                    S:=S + A[K, I] * A[K, I];
                end;
                F:=A[I, I];
                If F > 0 Then
                    SGN:=1
                else
                    SGN:=-1;
                G:=-Sqrt(S) * Sgn;
                H:=F * G - S;
                A[I, I]:=F - G;
                If I <> N Then
                begin
                    For J:=L To N DO
                    begin
                        S:=0;
                        For K:=I To M do
                            S:=S + A[K, I] * A[K, J];
                        F:=S / H;
                        For K:=I To M do
                            A[K, J]:=A[K, J] + F * A[K, I];
                    end;
                end;
                For K:=I To M do
                    A[K, I]:=SCALE1 * A[K, I];
            end;
        end;
        W[I]:=SCALE1 * G;
        G:=0;
        S:=0;
        SCALE1:=0;
        If (I <= M) And (I <> N) Then
        begin
            For K:=L To N do
                SCALE1:=SCALE1 + Abs(A[I, K]);
            If SCALE1 <> 0 Then
            begin
                For K:=L To N do
                begin
                    A[I, K]:=A[I, K] / SCALE1;
                    S:=S + A[I, K] * A[I, K];
                end;
                F:=A[I, L];
                If F > 0 Then
                    SGN:=1
                else
                    SGN:=-1;
                G:=-Sqrt(S) * Sgn;
                H:=F * G - S;
                A[I, L]:=F - G;
                For K:=L To N do
                    RV1[K]:=A[I, K] / H;
                If I <> M Then
                begin
                    For J:=L To M do
                    begin
                        S:=0;
                        For K:=L To N do
                            S:=S + A[J, K] * A[I, K];
                        For K:=L To N do
                            A[J, K]:=A[J, K] + S * RV1[K];
                    end;
                end;
                For K:=L To N do
                    A[I, K]:=SCALE1 * A[I, K];
            end;
        end;
        If ANORM > Abs(W[I]) + Abs(RV1[I]) Then
            ANORM:=ANORM
        Else
            ANORM:=Abs(W[I]) + Abs(RV1[I]);
    end;
    For I:=N DownTo 1 do
    begin
        If I < N Then
        begin
            If G <> 0 Then
            begin
                For J:=L To N do
                    V[J, I]:=(A[I, J] / A[I, L]) / G;
                For J:=L To N do
                begin
                    S:=0;
                    For K:=L To N do
                        S:=S + A[I, K] * V[K, J];
                    For K:=L To N do
                        V[K, J]:=V[K, J] + S * V[K, I];
                end;
            end;
            For J:=L To N do
            begin
                V[I, J]:=0;
                V[J, I]:=0;
            end;
        end;
        V[I, I]:=1;
        G:=RV1[I];
        L:=I;
    end;
    For I:=N DownTo 1 do
    begin
        L:=I + 1;
        G:=W[I];
        If I < N Then
        begin
            For J:=L To N do
                A[I, J]:=0;
        end;
        If G <> 0 Then
        begin
            G:=1 / G;
            If I <> N Then
            begin
                For J:=L To N do
                begin
                    S:=0;
                    For K:=L To M do
                        S:=S + A[K, I] * A[K, J];
                    F:=(S / A[I, I]) * G;
                    For K:=I To M do
                        A[K, J]:=A[K, J] + F * A[K, I];
                end;
            end;
            For J:=I To M do
            begin
                A[J, I]:=A[J, I] * G;
            end;
        end
        Else
            For J:=I To M do
                A[J, I]:=0;
        A[I, I]:=A[I, I] + 1;
    end;
    For K:=N DownTo 1 do
    begin
        For ITS:=1 To 30 do
        begin
            For L:=K DownTo 1 do
            begin
                NM:=L - 1;
                If Abs(RV1[L]) + ANORM = ANORM Then GoTo 2;
                If Abs(W[NM]) + ANORM = ANORM Then GoTo 1;
            end;
1:          C:=0;
            S:=1;
            For I:=L To K do
            begin
                F:=S * RV1[I];
                If Abs(F) + ANORM <> ANORM Then
                begin
                    G:=W[I];
                    H:=Sqrt(F * F + G * G);
                    W[I]:=H;
                    H:=1 / H;
                    C:=(G * H);
                    S:=-(F * H);
                    For J:=1 To M do
                    begin
                        Y:=A[J, NM];
                        Z:=A[J, I];
                        A[J, NM]:=(Y * C) + (Z * S);
                        A[J, I]:=-(Y * S) + (Z * C);
                    end;
                end;
            end;
2:          Z:=W[K];
            If L = K Then
            begin
                If Z < 0 Then
                begin
                    W[K]:=-Z;
                    For J:=1 To N do
                        V[J, K]:=-V[J, K];
                end;
                GoTo 3;
            end;
            If ITS = 30 Then
                ShowMessage('No convergence in 30 iterations');
            X:=W[L];
            NM:=K - 1;
            Y:=W[NM];
            G:=RV1[NM];
            H:=RV1[K];
            F:=((Y - Z) * (Y + Z) + (G - H) * (G + H)) / (2 * H * Y);
            G:=Sqrt(F * F + 1);
            If F > 0 Then
                    Sgn:=1
                else
                    Sgn:=-1;
            F:=((X - Z) * (X + Z) + H * ((Y / (F + Abs(G) * Sgn)) - H)) / X;
            C:=1;
            S:=1;
            For J:=L To NM do
            begin
                I:=J + 1;
                G:=RV1[I];
                Y:=W[I];
                H:=S * G;
                G:=G * C;
                Z:=Sqrt(F * F + H * H);
                RV1[J]:=Z;
                C:=F / Z;
                S:=H / Z;
                F:=(X * C) + (G * S);
                G:=-(X * S) + (G * C);
                H:=Y * S;
                Y:=Y * C;
                For NM:=1 To N do
                begin
                    X:=V[NM, J];
                    Z:=V[NM, I];
                    V[NM, J]:=(X * C) + (Z * S);
                    V[NM, I]:=-(X * S) + (Z * C);
                end;
                Z:=Sqrt(F * F + H * H);
                W[J]:=Z;
                If Z <> 0 Then
                begin
                    Z:=1 / Z;
                    C:=F * Z;
                    S:=H * Z;
                end;
                F:=(C * G) + (S * Y);
                X:=-(S * G) + (C * Y);
                For NM:=1 To M do
                begin
                    Y:=A[NM, J];
                    Z:=A[NM, I];
                    A[NM, J]:=(Y * C) + (Z * S);
                    A[NM, I]:=-(Y * S) + (Z * C);
                end;
            end;
            RV1[L]:=0;
            RV1[K]:=F;
            W[K]:=X;
        end;
3:  AAAAA:=1;
    end;
end;

procedure SVBKSB(U:matrx2; W:array of real; V:matrx2;
                   M, N:integer; B:array of real;var X:array of reaL);
var
    TMP:array[0..100] of real;
    I,J,JJ:integer;
    S:real;
begin
    For J:=1 To N do
    begin
        S:=0;
        If W[J] <> 0 Then
        begin
            For I:=1 To M do
                S:=S + U[I, J] * B[I];
            S:=S / W[J];
        end;
        TMP[J]:=S;
    end;
    For J:=1 To N do
    begin
        S:=0;
        For JJ:=1 To N do
            S:=S + V[J, JJ] * TMP[JJ];
        X[J]:=S;
    end;
end;

Procedure FPOLY(X:real; var P:array of real; NP:integer);
var
    J:integer;
begin
    P[1]:=1;
    For J:=2 To NP do
      P[J]:=P[J - 1] * X;
end;

Procedure FLEG(X:real; var PL:array of real; NL:integer);
var
    J:integer;  TWOX,F1,F2,D:real;
begin
    PL[1]:=1;
    PL[2]:=X;
    If NL > 2 Then
    begin
        TWOX:=2 * X;
        F2:=X;
        D:=1; 
        For J:=3 To NL do
        begin
            F1:=D;
            F2:=F2 + TWOX;
            D:=D + 1;
            PL[J]:=(F2 * PL[J - 1] - F1 * PL[J - 2]) / D;
        end;
    end;
end;

Procedure SVDVAR(V:matrx2; MA, NP:integer; W:array of real;
                  var CVM:matrx2; NCVM:integer);
var
    WTI:array[0..20] of real;
    I,K,J:integer;  SUM1:real;
begin
    For I:=1 To MA do
    begin
        WTI[I]:=0 ;
        If W[I] <> 0  Then WTI[I]:=1 / (W[I] * W[I]);
    end; 
    For I:=1 To MA do
    begin
        For J:=1 To I do
        begin
            SUM1:=0;
            For K:=1 To MA do
                SUM1:=SUM1 + V[I, K] * V[J, K] * WTI[K];
            CVM[I, J]:=SUM1;
            CVM[J, I]:=SUM1;
        end; 
    end; 
end;


Procedure SVDFIT(X, Y, SIG:array of real; NDATA:integer;
    var A:array of real; MA:integer;var U, V:matrx2;var W:array of real;
     MP, NP:integer;var CHISQ:real; FUNCS:string);
var
    B:array[0..1000] of real; AFUNC:array[0..50] of real;
    I,J:integer;   TMP,WMAX,THRESH,SUM1:real;
const
    TOL=0.00001;
begin
    For I:=1 To NDATA do
    begin
        If FUNCS = 'FPOLY' Then FPOLY(X[I], AFUNC, MA);
        If FUNCS = 'FLEG'  Then FLEG(X[I], AFUNC, MA);
        TMP:=1 / SIG[I];
        For J:=1 To MA do
            U[I, J]:=AFUNC[J] * TMP;
        B[I]:=Y[I] * TMP;
    end; 
    SVDCMP(U, NDATA, MA, W, V);
    WMAX:=0; 
    For J:=1 To MA do
        If W[J] > WMAX Then WMAX:=W[J];
    THRESH:=TOL * WMAX;
    For J:=1 To MA do
        If W[J] < THRESH Then W[J]:=0; 
    SVBKSB(U, W, V, NDATA, MA, B, A);
    CHISQ:=0; 
    For I:=1 To NDATA do
    begin
        If FUNCS = 'FPOLY' Then FPOLY(X[I], AFUNC, MA);
        If FUNCS = 'FLEG' Then FLEG(X[I], AFUNC, MA);
        SUM1:=0; 
        For J:= 1 To MA do
            SUM1:=SUM1 + A[J] * AFUNC[J];
        CHISQ:=CHISQ + Sqr((Y[I] - SUM1) / SIG[I]);
    end; 
end;
end.
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品你懂的在线| 一区二区三区在线视频观看| 91小视频在线| 韩国精品久久久| 亚洲综合成人网| 亚洲国产精品国自产拍av| 91麻豆精品国产91久久久资源速度 | 一区二区三区免费看视频| 精品免费国产二区三区| 欧美揉bbbbb揉bbbbb| www.欧美亚洲| 国产精品自拍在线| 日av在线不卡| 婷婷久久综合九色国产成人| 亚洲欧美另类久久久精品| 国产婷婷色一区二区三区| 日韩欧美中文字幕精品| 欧美巨大另类极品videosbest | 久久综合九色综合欧美亚洲| 欧美日韩午夜在线| 色综合久久综合网欧美综合网| 久久成人免费网| 蜜臀a∨国产成人精品| 丝袜亚洲另类丝袜在线| 亚洲一区二区三区四区在线| 国产精品大尺度| 国产精品你懂的在线欣赏| 久久久久久久久一| 精品国产三级a在线观看| 欧美又粗又大又爽| 91热门视频在线观看| 9人人澡人人爽人人精品| 成人久久18免费网站麻豆| 国产麻豆精品在线观看| 激情综合亚洲精品| 国产一本一道久久香蕉| 国产精品一区久久久久| 成人在线视频一区| 99久久国产综合精品色伊| 色婷婷综合久久久中文一区二区 | 国产成人免费视| 成人影视亚洲图片在线| 成人在线视频一区| 99v久久综合狠狠综合久久| av综合在线播放| 97久久精品人人澡人人爽| 91免费在线看| 欧美性猛片aaaaaaa做受| 欧美日韩视频在线观看一区二区三区 | 日韩午夜激情视频| 日韩欧美国产一区在线观看| 久久色中文字幕| 中文字幕第一区综合| 亚洲欧美日韩电影| 亚洲国产一区二区视频| 日韩av一二三| 国产一区二区影院| 99精品黄色片免费大全| 精品视频1区2区| 日韩欧美不卡在线观看视频| 国产女同互慰高潮91漫画| 亚洲色图制服诱惑 | 色婷婷综合久久| 欧美一区2区视频在线观看| 精品欧美久久久| 久久久精品天堂| 亚洲色图制服诱惑| 久久精品免费看| 成人小视频免费在线观看| 欧美影视一区二区三区| 欧美成人精品福利| 亚洲啪啪综合av一区二区三区| 亚州成人在线电影| 丁香婷婷综合五月| 欧美日韩一级二级| 久久久久国产一区二区三区四区 | 欧美优质美女网站| 精品国产91亚洲一区二区三区婷婷| 久久九九全国免费| 亚洲黄色小说网站| 国精产品一区一区三区mba桃花| 99久久久久久| 精品国产1区2区3区| 亚洲蜜臀av乱码久久精品 | 国产v日产∨综合v精品视频| 日本韩国一区二区三区| 精品sm捆绑视频| 一区二区三区四区精品在线视频| 青青草97国产精品免费观看无弹窗版| 丰满岳乱妇一区二区三区| 欧美日韩成人综合天天影院| 久久久国际精品| 日韩精品1区2区3区| av高清不卡在线| 精品国产三级电影在线观看| 亚洲最大成人网4388xx| 国产黄色91视频| 3d动漫精品啪啪一区二区竹菊| 中文字幕免费不卡| 狠狠色狠狠色综合系列| 精品视频123区在线观看| 综合欧美一区二区三区| 国产乱对白刺激视频不卡| 欧美男人的天堂一二区| 18欧美亚洲精品| 国产精品白丝jk黑袜喷水| 777亚洲妇女| 亚洲一区二区偷拍精品| 成人精品视频网站| 久久亚洲精品小早川怜子| 日本美女一区二区| 欧美视频一区二区| 亚洲美腿欧美偷拍| 99久久久精品免费观看国产蜜| 亚洲视频一区二区在线| 懂色中文一区二区在线播放| 欧美第一区第二区| 日韩综合在线视频| 欧美色爱综合网| 一区二区三区在线观看国产| 99久久国产综合色|国产精品| 国产亚洲欧洲一区高清在线观看| 蜜臀av一级做a爰片久久| 欧美一区二区三区视频| 日韩在线卡一卡二| 欧美一区二区三区影视| 日本三级韩国三级欧美三级| 欧美精品在欧美一区二区少妇| 亚洲国产成人91porn| 欧美无砖专区一中文字| 亚洲宅男天堂在线观看无病毒| 色综合久久综合网欧美综合网| 最新久久zyz资源站| 成人免费看黄yyy456| 国产精品拍天天在线| av动漫一区二区| 亚洲天堂a在线| 欧美中文字幕亚洲一区二区va在线| 亚洲欧美日韩国产综合| 欧美在线观看一区| 日韩国产精品91| 精品国精品国产尤物美女| 国内精品免费在线观看| 久久久久久久久久久久久久久99| 国产精品香蕉一区二区三区| 国产精品国产三级国产三级人妇| 一本一道综合狠狠老| 亚洲电影一级黄| 日韩一区二区三区av| 国产一区二区在线影院| 国产精品久久久久久亚洲毛片| 一本久久综合亚洲鲁鲁五月天| 亚洲主播在线观看| 日韩视频一区二区三区在线播放| 久久综合综合久久综合| 国产精品久久久久婷婷| 欧美网站大全在线观看| 精品一区二区三区在线观看国产| 精品国产99国产精品| 成人黄色小视频| 一区二区三区欧美日| 7777精品伊人久久久大香线蕉完整版 | 欧美r级在线观看| 丁香五精品蜜臀久久久久99网站| 亚洲乱码国产乱码精品精98午夜| 欧美三级视频在线播放| 久久精品国产99久久6| 国产精品毛片大码女人| 欧美私人免费视频| 久久疯狂做爰流白浆xx| 亚洲色欲色欲www在线观看| 91精品国产色综合久久不卡电影| 国内精品视频666| 亚洲一区二区四区蜜桃| 久久亚洲一级片| 欧洲国产伦久久久久久久| 精久久久久久久久久久| 亚洲精品免费电影| 欧美成va人片在线观看| 一本到不卡精品视频在线观看| 免费xxxx性欧美18vr| 中文字幕在线视频一区| 欧美一区二视频| 成人av影院在线| 另类小说欧美激情| 亚洲精品亚洲人成人网在线播放| 欧美一区二区三区视频| 一本久道久久综合中文字幕| 韩国毛片一区二区三区| 亚洲1区2区3区4区| 综合色天天鬼久久鬼色| 欧美精品一区二区不卡| 欧美亚洲高清一区二区三区不卡| 国产麻豆日韩欧美久久| 日韩黄色小视频| 日韩理论片一区二区| 久久蜜桃av一区精品变态类天堂 | 欧美日韩亚洲综合一区| 国产精品911| 久久66热偷产精品|