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

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

?? unit2.pas

?? 《Delphi常用數(shù)值算法集》的配書源碼
?? PAS
字號:
unit Unit2;

interface
uses
  Windows, Messages, SysUtils, Classes, Graphics,unit1, Controls, Forms, Dialogs;
procedure BSSTEP(var Y, DYDX:array of real; NV:integer; var X1:real;
                HTRY, EPS:real;YSCAL:array of real; var HDID, HEND:real);
Function BESSJ0(X:real):real;
Function BESSJ1(X:real):real;
Function BESSJ(N:Integer; X:Real):Real;

implementation
procedure MMID(Y, DYDX:array of real; NVAR:integer; XS, HTOT:real;
                                    NSTEP:integer;var YOUT:array of real);
var
    YM, YN:array[0..10] of real;  I,N:integer;  H,X,H2,SWAP:real;
begin
    H:=HTOT / NSTEP;
    For I:=1 To NVAR do
    begin
        YM[I]:=Y[I];
        YN[I]:=Y[I] + H * DYDX[I];
    end; 
    X:=XS + H;
    DERIVS(X, YN, YOUT);
    H2:=2 * H;
    For N:=2 To NSTEP do
    begin
        For I:=1 To NVAR do
        begin
            SWAP:=YM[I] + H2 * YOUT[I];
            YM[I]:=YN[I];
            YN[I]:=SWAP;
        end; 
        X:=X + H;
        DERIVS(X, YN, YOUT);
    end; 
    For I:=1 To NVAR do
        YOUT[I]:=0.5 * (YM[I] + YN[I] + H * YOUT[I]);
end;

procedure RZEXTR(IEST:integer; XEST:real; YEST:array of real;
                           var YZ, DY:array of real; NV, NUSE:integer);
var
    FX:array[0..7] of real;   J,M1,K:integer;
    YY,V,C,B1,DDY,B:real;
begin
    SetLength(D, 11, 8);
    X[IEST]:=XEST;
    If IEST = 1 Then
    begin
        For J:=1 To NV do
        begin
            YZ[J]:=YEST[J];
            D[J, 1]:=YEST[J];
            DY[J]:=YEST[J];
        end;
    end 
    Else
    begin
        M1:=IEST;
        If NUSE < IEST Then M1:=NUSE;
        For K:=1 To M1 - 1 do
            FX[K + 1]:=X[IEST - K] / XEST;
        For J:=1 To NV do
        begin
            YY:=YEST[J];
            V:=D[J, 1];
            C:=YY;
            D[J, 1]:=YY;
            For K:=2 To M1 do
            begin
                B1:=FX[K] * V;
                B:=B1 - C;
                If B <> 0 Then
                begin
                    B:=(C - V) / B;
                    DDY:=C * B;
                    C:=B1 * B;
                end
                Else
                    DDY:=V;
                If K <> M1 Then V:=D[J, K];
                D[J, K]:=DDY;
                YY:=YY + DDY;
            end; 
            DY[J]:=DDY;
            YZ[J]:=YY;
        end; 
    end;
end;

procedure BSSTEP(var Y, DYDX:array of real; NV:integer; var X1:real;
                HTRY, EPS:real;YSCAL:array of real; var HDID, HEND:real);
label 1;
const
    IMAX = 11;  NUSE = 7;  ONE = 1;  SHRINK = 0.95;  GROW = 1.2;
var
    I,J:integer;   H,XSAV,XEST,ERRMAX:real;
    YERR,YSAV,DYSAV,YSEQ:array[0..10] of real;
    NSEQ:array[0..11] of integer;
begin
    NSEQ[1]:=2;   NSEQ[2]:=4;   NSEQ[3]:=6;  NSEQ[4]:=8;  NSEQ[5]:=12;
    NSEQ[6]:=16;  NSEQ[7]:=24;  NSEQ[8]:=32; NSEQ[9]:=48;
    NSEQ[10]:=64; NSEQ[11]:=96;
    H:=HTRY;
    XSAV:=X1;
    For I:=1 To NV do
    begin
        YSAV[I]:=Y[I];
        DYSAV[I]:=DYDX[I];
    end;
1:  For I:=1 To IMAX do
    begin
        MMID(YSAV, DYSAV, NV, XSAV, H, NSEQ[I], YSEQ);
        XEST:=Sqr(H / NSEQ[I]);
        RZEXTR(I, XEST, YSEQ, Y, YERR, NV, NUSE);
        ERRMAX:=0;
        For J:=1 To NV do
            If Abs(YERR[J] / YSCAL[J]) > ERRMAX Then
                ERRMAX:=Abs(YERR[J] / YSCAL[J]);
        ERRMAX:=ERRMAX / EPS;
        If ERRMAX < ONE Then
        begin
            X1:=X1 + H;
            HDID:=H;
            If I = NUSE Then
                HEND:=H * SHRINK
            Else
            begin
                If I = NUSE - 1 Then
                    HEND:=H * GROW
                Else
                    HEND:=(H * NSEQ[NUSE - 1]) / NSEQ[I];
            end;
            Exit;
        end;
    end;
    H:=0.25 * H / Exp(((IMAX - NUSE) div 2)*Ln(2));
    if X1 + H = X1  then  ShowMessage(' Step size underflow');
    goto 1;
end;


Function BESSJ0(X:real):real;
var
   AAA,BBB,CCC,Y,AX,Z,DDD,EEE,XX:real;
const
  P1=1;                    P2=-0.001098628627;
  P3=0.2734510407e-4;      P4=-0.2073370639e-5;
  P5=2.093887211E-07;
  Q1=-0.1562499995e-1;     Q2=0.1430488765e-3;
  Q3=-0.6911147651e-5;     Q4=7.621095161E-07;
  Q5=-9.34945152E-08;
  R1=57568490574;          R2=-13362590354;
  R3=651619640.7;          R4=-11214424.18;
  R5=77392.33017;          R6=-184.9052456;
  S1=57568490411;          S2=1029532985;
  S3=9494680.718;          S4=59272.64853;
  S5=267.8532712;          S6=1;
begin
  If Abs(X) < 8 Then
    begin
      Y:=X * X;
      BBB:=Y* (R4+ Y* (R5+ Y* R6));
      AAA:=R1+ Y* (R2+ Y* (R3+ BBB));
      CCC:=Y* (S3+ Y* (S4+ Y* (S5+ Y* S6)));
      BESSJ0:= AAA / (S1+ Y* (S2+ CCC));
    end
  Else
    begin
      AX:=Abs(X);
      Z:=8/ AX;
      Y:=Z* Z;
      XX:= AX- 0.785398164;
      CCC:=Y* (P3+ Y* (P4+ Y* P5));
      AAA:=P1+ Y* (P2+ CCC);
      DDD:=Y* (Q3+ Y* (Q4+ Y* Q5));
      EEE:=Z* Sin(XX) * (Q1+ Y* (Q2+ DDD));
      BESSJ0:= Sqrt(0.636619772 / AX) * (Cos(XX) * AAA- EEE);
    end;
end;

Function BESSJ1(X:real):real;
var
    AAA,BBB,CCC,AX,Z,Y,XX,SGN:real;
const
    R1 = 72362614232;         R2 = -7895059235;
    R3 = 242396853.1;         R4 = -2972611.439;
    R5 = 15704.4826;          R6 = -30.16036606;
    S1 = 144725228442;        S2 = 2300535178;
    S3 = 18583304.74;         S4 = 99447.43394;
    S5 = 376.9991397;         S6 = 1;
    P1 = 1;                   P2 = 0.00183105;
    P3 = -0.3516396496e-4;    P4 = 0.000002457520174;
    P5 = -0.240337019e-6;
    Q1 = 0.04687499995;       Q2 = -0.2002690873e-3;
    Q3 = 0.8449199096e-5;     Q4 = -0.88228987e-6;
    Q5 = 0.105787412e-6;
begin
    If Abs(X) < 8 Then
      begin
        Y:=X * X;
        AAA:=R1 + Y * (R2 + Y * (R3 + Y * (R4 + Y * (R5 + Y * R6))));
        BBB:=S1 + Y * (S2 + Y * (S3 + Y * (S4 + Y * (S5 + Y * S6))));
        BESSJ1:=X * AAA / BBB;
      end
    Else
      begin
        AX:=Abs(X);
        Z:=8 / AX;
        Y:=Z * Z;
        XX:=AX - 2.356194491;
        AAA:=P1 + Y * (P2 + Y * (P3 + Y * (P4 + Y * P5)));
        BBB:=Q1 + Y * (Q2 + Y * (Q3 + Y * (Q4 + Y * Q5)));
        CCC:=Sqrt(0.636619772 / AX);
        if X > 0 then
          SGN:= 1
        else
          SGN:= -1;
        BESSJ1:=CCC * (Cos(XX) * AAA - Z * Sin(XX) * BBB * Sgn);
      end;
end;

Function BESSJ(N:Integer; X:Real):Real;
var
    BJ,BJM,BJP,SUM,TOX,ANS:Real; J,JSUM,M:Integer;
const
    IACC = 40;    BIGNO = 1.0e10;    BIGNI = 1.0e-10;
begin
    If N < 2 Then
        ShowMessage('bad argument N in BASSJ');
    TOX:= 2 / X;
    if X > 1.0 * N then
    begin
        BJM:=BESSJ0(X);
        BJ:=BESSJ1(X);
        For J:=1 To N - 1 do
        begin
            BJP:=J * TOX * BJ - BJM;
            BJM:=BJ;
            BJ:=BJP;
        end;
        ANS:=BJ
    end
    Else
    begin
        M:=2 * ((N + Trunc(Sqrt(IACC * N))) div 2);
        ANS:=0.0;
        JSUM:=0;
        Sum:=0;
        BJP:=0;
        BJ:=1;
        For J:=M DownTo 1 do
          begin
            BJM:=J * TOX * BJ - BJP;
            BJP:=BJ;
            BJ:=BJM;
            If Abs(BJ) > BIGNO Then
              begin
                BJ:=BJ * BIGNI;
                BJP:=BJP * BIGNI;
                ANS:=ANS * BIGNI;
                Sum:=Sum * BIGNI;
              end;
            If JSUM <> 0 Then Sum:=Sum + BJ;
            JSUM:=1 - JSUM;
            If J = N Then ANS:=BJP;
        end;
        Sum:=2 * Sum - BJ;
        ans:=ans / Sum
    end;
    BESSJ:=ans;
end;


end.
 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线视频你懂得| 欧美影院精品一区| 日韩精品三区四区| 亚洲国产日韩一区二区| 亚洲国产成人私人影院tom| 久久久精品欧美丰满| 国产日韩欧美综合一区| 久久噜噜亚洲综合| 欧美国产一区二区| 中文字幕一区二区三区四区| 国产精品久久午夜| 亚洲激情在线激情| 亚洲成人av一区二区| 天堂成人国产精品一区| 麻豆国产精品777777在线| 麻豆视频一区二区| 国产精品1024| 91麻豆免费视频| 欧美视频完全免费看| 日韩欧美国产三级电影视频| 精品成人在线观看| 欧美激情一区三区| 亚洲色欲色欲www| 五月婷婷欧美视频| 日本女人一区二区三区| 日本不卡免费在线视频| 国产一区91精品张津瑜| 成人一区二区在线观看| 欧洲一区在线观看| 久久一区二区三区四区| 亚洲人亚洲人成电影网站色| 午夜精品福利一区二区蜜股av | 欧美日韩一区二区三区视频| 欧美人妖巨大在线| 国产欧美一区二区精品忘忧草 | 国产欧美一区二区三区在线看蜜臀 | 天堂va蜜桃一区二区三区| 激情五月婷婷综合| 91国产免费观看| 2017欧美狠狠色| 亚洲第一综合色| 成人激情免费视频| 日韩一区二区三区av| 亚洲女人****多毛耸耸8| 久久精品国产网站| 欧美丝袜丝交足nylons图片| 久久久无码精品亚洲日韩按摩| 亚洲自拍偷拍欧美| 成人在线视频首页| 精品三级在线看| 午夜欧美电影在线观看| 99久久99久久免费精品蜜臀| 精品久久国产字幕高潮| 一区二区视频在线| 久久国内精品视频| 欧美疯狂性受xxxxx喷水图片| 亚洲欧洲日韩在线| 国产精品99久久久久| 日韩欧美一区中文| 香蕉乱码成人久久天堂爱免费| 成人影视亚洲图片在线| 久久久久国产一区二区三区四区| 日韩精品一级二级| 欧洲视频一区二区| 亚洲人成网站在线| 91色婷婷久久久久合中文| 久久久不卡网国产精品一区| 久久精品99国产国产精| 欧美一个色资源| 免费人成网站在线观看欧美高清| 另类成人小视频在线| 日韩欧美亚洲国产另类| 婷婷成人综合网| 欧美日韩国产首页| 亚洲国产成人tv| 在线观看欧美日本| 婷婷六月综合网| 欧美丝袜自拍制服另类| 艳妇臀荡乳欲伦亚洲一区| 91免费国产在线观看| 最新中文字幕一区二区三区| av不卡一区二区三区| 国产精品超碰97尤物18| 91小视频免费看| 悠悠色在线精品| 欧美日韩中字一区| 丝袜美腿成人在线| 精品日韩成人av| 国产成人在线影院| 成人免费视频在线观看| 色哦色哦哦色天天综合| 亚洲第一综合色| 精品伦理精品一区| 国产成人aaa| 日韩久久一区二区| 欧美色图天堂网| 麻豆成人91精品二区三区| 久久久久久一二三区| 国产成人精品aa毛片| 亚洲日本在线a| 制服.丝袜.亚洲.中文.综合 | 欧美久久久久久久久| 国产在线国偷精品产拍免费yy| av网站一区二区三区| 一区二区三区小说| 精品精品欲导航| 欧美系列日韩一区| 久久精品国产在热久久| 国产精品久久久久一区二区三区共 | 91精品国产91久久综合桃花 | 日本不卡123| 亚洲国产精品传媒在线观看| 在线看一区二区| 狠狠狠色丁香婷婷综合激情 | 国v精品久久久网| 亚洲成av人影院| 中文字幕成人在线观看| 欧美日韩成人综合天天影院 | 日本一区二区三区dvd视频在线| 色噜噜夜夜夜综合网| 免费av成人在线| 亚洲综合av网| 国产欧美日韩精品在线| 欧美一区二区啪啪| 色综合久久久久综合体桃花网| 亚洲第一成年网| 国产精品福利一区二区| 精品国产sm最大网站| 欧美羞羞免费网站| 99久久精品国产毛片| 美美哒免费高清在线观看视频一区二区| 激情综合色丁香一区二区| 精品国产三级a在线观看| 国产一区欧美二区| 亚洲一线二线三线视频| 日韩精品一区国产麻豆| 色偷偷成人一区二区三区91| 韩国成人精品a∨在线观看| 一区二区三区美女| 国产精品久久久久影院亚瑟| 精品国产区一区| 91精品国产91久久综合桃花| 欧美最猛性xxxxx直播| 91丨porny丨户外露出| 成人a级免费电影| 国产成人在线观看| 国产精品影视在线| 国产美女视频一区| 国产高清不卡二三区| 精品在线观看视频| 国产一区二区不卡| 夫妻av一区二区| av日韩在线网站| av在线不卡电影| 91蝌蚪porny| 91啪九色porn原创视频在线观看| 成人高清av在线| jlzzjlzz欧美大全| 91首页免费视频| 在线看日韩精品电影| 欧美性生活大片视频| 欧美另类高清zo欧美| 日韩一级免费一区| 久久久噜噜噜久噜久久综合| 久久久久久97三级| 国产精品青草综合久久久久99| 欧美激情一区二区| 国产精品理论片| 专区另类欧美日韩| 亚洲午夜电影在线| 久久99精品久久久久久久久久久久| 韩国av一区二区三区在线观看| 国产成人啪免费观看软件| 成av人片一区二区| 欧美日韩精品一区二区三区蜜桃 | 中日韩免费视频中文字幕| 国产日产欧产精品推荐色| 国产精品毛片大码女人| 亚洲成a人片在线不卡一二三区| 麻豆一区二区三| 91香蕉视频污在线| 9191精品国产综合久久久久久| 久久久一区二区三区捆绑**| 亚洲人精品一区| 美国av一区二区| av亚洲精华国产精华精| 777色狠狠一区二区三区| 久久综合中文字幕| 国产精品卡一卡二| 亚洲福中文字幕伊人影院| 亚洲国产乱码最新视频| 国产一区二区视频在线播放| 国产成人一区在线| 91黄色免费版| 久久久久久免费毛片精品| 欧美精品日日鲁夜夜添| 欧美日韩激情一区二区三区| 日韩三级视频中文字幕| 国产精品久久久久影院| 日韩激情一二三区|