| [x,rx,c,ai,dai]=jairy(x,rx,c,ai,dai); |
function [x,rx,c,ai,dai]=jairy(x,rx,c,ai,dai);
%***BEGIN PROLOGUE JAIRY
%***SUBSIDIARY
%***PURPOSE Subsidiary to BESJ and BESY
%***LIBRARY SLATEC
%***TYPE SINGLE PRECISION (JAIRY-S, DJAIRY-D)
%***AUTHOR Amos, D. E., (SNLA)
% Daniel, S. L., (SNLA)
% Weston, M. K., (SNLA)
%***DESCRIPTION
%
% JAIRY computes the Airy function AI(X)
% and its derivative DAI(X) for ASYJY
%
% INPUT
%
% X - Argument, computed by ASYJY, X unrestricted
% RX - RX=SQRT(ABS(X)), computed by ASYJY
% C - C=2.*(ABS(X)**1.5)/3., computed by ASYJY
%
% OUTPUT
%
% AI - Value of function AI(X)
% DAI - Value of the derivative DAI(X)
%
%***SEE ALSO BESJ, BESY
%***ROUTINES CALLED (NONE)
%***REVISION HISTORY (YYMMDD)
% 750101 DATE WRITTEN
% 891009 Removed unreferenced variable. (WRB)
% 891214 Prologue converted to Version 4.0 format. (BAB)
% 900328 Added TYPE section. (WRB)
% 910408 Updated the AUTHOR section. (WRB)
%***end PROLOGUE JAIRY
%
persistent a ajn ajp ak1 ak2 ak3 b ccv con2 con3 con4 con5 cv da dajn dajp dak1 dak2 dak3 db e1 e2 ec f1 f2 firstCall fpi12 i j m1 m1d m2 m2d m3 m3d m4 m4d n1 n1d n2 n2d n3 n3d n4 n4d rtrx scv t temp1 temp2 tt ; if isempty(firstCall),firstCall=1;end;
if isempty(i), i=0; end;
if isempty(j), j=0; end;
if isempty(m1), m1=0; end;
if isempty(m1d), m1d=0; end;
if isempty(m2), m2=0; end;
if isempty(m2d), m2d=0; end;
if isempty(m3), m3=0; end;
if isempty(m3d), m3d=0; end;
if isempty(m4), m4=0; end;
if isempty(m4d), m4d=0; end;
if isempty(n1), n1=0; end;
if isempty(n1d), n1d=0; end;
if isempty(n2), n2=0; end;
if isempty(n2d), n2d=0; end;
if isempty(n3), n3=0; end;
if isempty(n3d), n3d=0; end;
if isempty(n4), n4=0; end;
if isempty(n4d), n4d=0; end;
if isempty(a), a=zeros(1,15); end;
if isempty(ajn), ajn=zeros(1,19); end;
if isempty(ajp), ajp=zeros(1,19); end;
if isempty(ak1), ak1=zeros(1,14); end;
if isempty(ak2), ak2=zeros(1,23); end;
if isempty(ak3), ak3=zeros(1,14); end;
if isempty(b), b=zeros(1,15); end;
if isempty(ccv), ccv=0; end;
if isempty(con2), con2=0; end;
if isempty(con3), con3=0; end;
if isempty(con4), con4=0; end;
if isempty(con5), con5=0; end;
if isempty(cv), cv=0; end;
if isempty(da), da=zeros(1,15); end;
if isempty(dajn), dajn=zeros(1,19); end;
if isempty(dajp), dajp=zeros(1,19); end;
if isempty(dak1), dak1=zeros(1,14); end;
if isempty(dak2), dak2=zeros(1,24); end;
if isempty(dak3), dak3=zeros(1,14); end;
if isempty(db), db=zeros(1,15); end;
if isempty(ec), ec=0; end;
if isempty(e1), e1=0; end;
if isempty(e2), e2=0; end;
if isempty(fpi12), fpi12=0; end;
if isempty(f1), f1=0; end;
if isempty(f2), f2=0; end;
if isempty(rtrx), rtrx=0; end;
if isempty(scv), scv=0; end;
if isempty(t), t=0; end;
if isempty(temp1), temp1=0; end;
if isempty(temp2), temp2=0; end;
if isempty(tt), tt=0; end;
if firstCall, n1 =[14]; end;
if firstCall, n2 =[23]; end;
if firstCall, n3 =[19]; end;
if firstCall, n4=[15]; end;
if firstCall, m1 =[12]; end;
if firstCall, m2 =[21]; end;
if firstCall, m3 =[17]; end;
if firstCall, m4=[13]; end;
if firstCall, fpi12 =[1.30899693899575e+00]; end;
if firstCall, con2 =[5.03154716196777e+00]; end;
if firstCall, con3 =[3.80004589867293e-01]; end;
if firstCall, con4 =[8.33333333333333e-01]; end;
if firstCall, con5=[8.66025403784439e-01]; end;
if firstCall, ak1(1) =[2.20423090987793e-01]; end;
if firstCall, ak1(2) =[-1.25290242787700e-01]; end;
if firstCall, ak1(3) =[1.03881163359194e-02]; end;
if firstCall, ak1(4) =[8.22844152006343e-04]; end;
if firstCall, ak1(5) =[-2.34614345891226e-04]; end;
if firstCall, ak1(6) =[1.63824280172116e-05]; end;
if firstCall, ak1(7)=[3.06902589573189e-07]; end;
if firstCall, ak1(8) =[-1.29621999359332e-07]; end;
if firstCall, ak1(9) =[8.22908158823668e-09]; end;
if firstCall, ak1(10) =[1.53963968623298e-11]; end;
if firstCall, ak1(11) =[-3.39165465615682e-11]; end;
if firstCall, ak1(12) =[2.03253257423626e-12]; end;
if firstCall, ak1(13) =[-1.10679546097884e-14]; end;
if firstCall, ak1(14)=[-5.16169497785080e-15]; end;
if firstCall, ak2(1) =[2.74366150869598e-01]; end;
if firstCall, ak2(2) =[5.39790969736903e-03]; end;
if firstCall, ak2(3) =[-1.57339220621190e-03]; end;
if firstCall, ak2(4) =[4.27427528248750e-04]; end;
if firstCall, ak2(5) =[-1.12124917399925e-04]; end;
if firstCall, ak2(6) =[2.88763171318904e-05]; end;
if firstCall, ak2(7)=[-7.36804225370554e-06]; end;
if firstCall, ak2(8) =[1.87290209741024e-06]; end;
if firstCall, ak2(9) =[-4.75892793962291e-07]; end;
if firstCall, ak2(10) =[1.21130416955909e-07]; end;
if firstCall, ak2(11) =[-3.09245374270614e-08]; end;
if firstCall, ak2(12) =[7.92454705282654e-09]; end;
if firstCall, ak2(13) =[-2.03902447167914e-09]; end;
if firstCall, ak2(14) =[5.26863056595742e-10]; end;
if firstCall, ak2(15) =[-1.36704767639569e-10]; end;
if firstCall, ak2(16) =[3.56141039013708e-11]; end;
if firstCall, ak2(17) =[-9.31388296548430e-12]; end;
if firstCall, ak2(18) =[2.44464450473635e-12]; end;
if firstCall, ak2(19) =[-6.43840261990955e-13]; end;
if firstCall, ak2(20) =[1.70106030559349e-13]; end;
if firstCall, ak2(21) =[-4.50760104503281e-14]; end;
if firstCall, ak2(22) =[1.19774799164811e-14]; end;
if firstCall, ak2(23)=[-3.19077040865066e-15]; end;
if firstCall, ak3(1) =[2.80271447340791e-01]; end;
if firstCall, ak3(2) =[-1.78127042844379e-03]; end;
if firstCall, ak3(3) =[4.03422579628999e-05]; end;
if firstCall, ak3(4) =[-1.63249965269003e-06]; end;
if firstCall, ak3(5) =[9.21181482476768e-08]; end;
if firstCall, ak3(6) =[-6.52294330229155e-09]; end;
if firstCall, ak3(7)=[5.47138404576546e-10]; end;
if firstCall, ak3(8) =[-5.24408251800260e-11]; end;
if firstCall, ak3(9) =[5.60477904117209e-12]; end;
if firstCall, ak3(10) =[-6.56375244639313e-13]; end;
if firstCall, ak3(11) =[8.31285761966247e-14]; end;
if firstCall, ak3(12) =[-1.12705134691063e-14]; end;
if firstCall, ak3(13) =[1.62267976598129e-15]; end;
if firstCall, ak3(14)=[-2.46480324312426e-16]; end;
if firstCall, ajp(1) =[7.78952966437581e-02]; end;
if firstCall, ajp(2) =[-1.84356363456801e-01]; end;
if firstCall, ajp(3) =[3.01412605216174e-02]; end;
if firstCall, ajp(4) =[3.05342724277608e-02]; end;
if firstCall, ajp(5) =[-4.95424702513079e-03]; end;
if firstCall, ajp(6) =[-1.72749552563952e-03]; end;
if firstCall, ajp(7)=[2.43137637839190e-04]; end;
if firstCall, ajp(8) =[5.04564777517082e-05]; end;
if firstCall, ajp(9) =[-6.16316582695208e-06]; end;
if firstCall, ajp(10) =[-9.03986745510768e-07]; end;
if firstCall, ajp(11) =[9.70243778355884e-08]; end;
if firstCall, ajp(12) =[1.09639453305205e-08]; end;
if firstCall, ajp(13) =[-1.04716330588766e-09]; end;
if firstCall, ajp(14) =[-9.60359441344646e-11]; end;
if firstCall, ajp(15) =[8.25358789454134e-12]; end;
if firstCall, ajp(16) =[6.36123439018768e-13]; end;
if firstCall, ajp(17) =[-4.96629614116015e-14]; end;
if firstCall, ajp(18) =[-3.29810288929615e-15]; end;
if firstCall, ajp(19)=[2.35798252031104e-16]; end;
if firstCall, ajn(1) =[3.80497887617242e-02]; end;
if firstCall, ajn(2) =[-2.45319541845546e-01]; end;
if firstCall, ajn(3) =[1.65820623702696e-01]; end;
if firstCall, ajn(4) =[7.49330045818789e-02]; end;
if firstCall, ajn(5) =[-2.63476288106641e-02]; end;
if firstCall, ajn(6) =[-5.92535597304981e-03]; end;
if firstCall, ajn(7)=[1.44744409589804e-03]; end;
if firstCall, ajn(8) =[2.18311831322215e-04]; end;
if firstCall, ajn(9) =[-4.10662077680304e-05]; end;
if firstCall, ajn(10) =[-4.66874994171766e-06]; end;
if firstCall, ajn(11) =[7.15218807277160e-07]; end;
if firstCall, ajn(12) =[6.52964770854633e-08]; end;
if firstCall, ajn(13) =[-8.44284027565946e-09]; end;
if firstCall, ajn(14) =[-6.44186158976978e-10]; end;
if firstCall, ajn(15) =[7.20802286505285e-11]; end;
if firstCall, ajn(16) =[4.72465431717846e-12]; end;
if firstCall, ajn(17) =[-4.66022632547045e-13]; end;
if firstCall, ajn(18) =[-2.67762710389189e-14]; end;
if firstCall, ajn(19)=[2.36161316570019e-15]; end;
if firstCall, a(1) =[4.90275424742791e-01]; end;
if firstCall, a(2) =[1.57647277946204e-03]; end;
if firstCall, a(3) =[-9.66195963140306e-05]; end;
if firstCall, a(4) =[1.35916080268815e-07]; end;
if firstCall, a(5) =[2.98157342654859e-07]; end;
if firstCall, a(6) =[-1.86824767559979e-08]; end;
if firstCall, a(7) =[-1.03685737667141e-09]; end;
if firstCall, a(8) =[3.28660818434328e-10]; end;
if firstCall, a(9) =[-2.57091410632780e-11]; end;
if firstCall, a(10) =[-2.32357655300677e-12]; end;
if firstCall, a(11) =[9.57523279048255e-13]; end;
if firstCall, a(12) =[-1.20340828049719e-13]; end;
if firstCall, a(13) =[-2.90907716770715e-15]; end;
if firstCall, a(14) =[4.55656454580149e-15]; end;
if firstCall, a(15)=[-9.99003874810259e-16]; end;
if firstCall, b(1) =[2.78593552803079e-01]; end;
if firstCall, b(2) =[-3.52915691882584e-03]; end;
if firstCall, b(3) =[-2.31149677384994e-05]; end;
if firstCall, b(4) =[4.71317842263560e-06]; end;
if firstCall, b(5) =[-1.12415907931333e-07]; end;
if firstCall, b(6) =[-2.00100301184339e-08]; end;
if firstCall, b(7) =[2.60948075302193e-09]; end;
if firstCall, b(8) =[-3.55098136101216e-11]; end;
if firstCall, b(9) =[-3.50849978423875e-11]; end;
if firstCall, b(10) =[5.83007187954202e-12]; end;
if firstCall, b(11) =[-2.04644828753326e-13]; end;
if firstCall, b(12) =[-1.10529179476742e-13]; end;
if firstCall, b(13) =[2.87724778038775e-14]; end;
if firstCall, b(14) =[-2.88205111009939e-15]; end;
if firstCall, b(15)=[-3.32656311696166e-16]; end;
if firstCall, n1d =[14]; end;
if firstCall, n2d =[24]; end;
if firstCall, n3d =[19]; end;
if firstCall, n4d=[15]; end;
if firstCall, m1d =[12]; end;
if firstCall, m2d =[22]; end;
if firstCall, m3d =[17]; end;
if firstCall, m4d=[13]; end;
if firstCall, dak1(1) =[2.04567842307887e-01]; end;
if firstCall, dak1(2) =[-6.61322739905664e-02]; end;
if firstCall, dak1(3) =[-8.49845800989287e-03]; end;
if firstCall, dak1(4) =[3.12183491556289e-03]; end;
if firstCall, dak1(5) =[-2.70016489829432e-04]; end;
if firstCall, dak1(6) =[-6.35636298679387e-06]; end;
if firstCall, dak1(7) =[3.02397712409509e-06]; end;
if firstCall, dak1(8) =[-2.18311195330088e-07]; end;
if firstCall, dak1(9) =[-5.36194289332826e-10]; end;
if firstCall, dak1(10) =[1.13098035622310e-09]; end;
if firstCall, dak1(11) =[-7.43023834629073e-11]; end;
if firstCall, dak1(12)=[4.28804170826891e-13]; end;
if firstCall, dak1(13) =[2.23810925754539e-13]; end;
if firstCall, dak1(14)=[-1.39140135641182e-14]; end;
if firstCall, dak2(1) =[2.93332343883230e-01]; end;
if firstCall, dak2(2) =[-8.06196784743112e-03]; end;
if firstCall, dak2(3) =[2.42540172333140e-03]; end;
if firstCall, dak2(4) =[-6.82297548850235e-04]; end;
if firstCall, dak2(5) =[1.85786427751181e-04]; end;
if firstCall, dak2(6) =[-4.97457447684059e-05]; end;
if firstCall, dak2(7) =[1.32090681239497e-05]; end;
if firstCall, dak2(8) =[-3.49528240444943e-06]; end;
if firstCall, dak2(9) =[9.24362451078835e-07]; end;
if firstCall, dak2(10) =[-2.44732671521867e-07]; end;
if firstCall, dak2(11) =[6.49307837648910e-08]; end;
if firstCall, dak2(12)=[-1.72717621501538e-08]; end;
if firstCall, dak2(13) =[4.60725763604656e-09]; end;
if firstCall, dak2(14) =[-1.23249055291550e-09]; end;
if firstCall, dak2(15) =[3.30620409488102e-10]; end;
if firstCall, dak2(16) =[-8.89252099772401e-11]; end;
if firstCall, dak2(17) =[2.39773319878298e-11]; end;
if firstCall, dak2(18) =[-6.48013921153450e-12]; end;
if firstCall, dak2(19) =[1.75510132023731e-12]; end;
if firstCall, dak2(20) =[-4.76303829833637e-13]; end;
if firstCall, dak2(21) =[1.29498241100810e-13]; end;
if firstCall, dak2(22) =[-3.52679622210430e-14]; end;
if firstCall, dak2(23) =[9.62005151585923e-15]; end;
if firstCall, dak2(24)=[-2.62786914342292e-15]; end;
if firstCall, dak3(1) =[2.84675828811349e-01]; end;
if firstCall, dak3(2) =[2.53073072619080e-03]; end;
if firstCall, dak3(3) =[-4.83481130337976e-05]; end;
if firstCall, dak3(4) =[1.84907283946343e-06]; end;
if firstCall, dak3(5) =[-1.01418491178576e-07]; end;
if firstCall, dak3(6) =[7.05925634457153e-09]; end;
if firstCall, dak3(7) =[-5.85325291400382e-10]; end;
if firstCall, dak3(8) =[5.56357688831339e-11]; end;
if firstCall, dak3(9) =[-5.90889094779500e-12]; end;
if firstCall, dak3(10) =[6.88574353784436e-13]; end;
if firstCall, dak3(11) =[-8.68588256452194e-14]; end;
if firstCall, dak3(12)=[1.17374762617213e-14]; end;
if firstCall, dak3(13) =[-1.68523146510923e-15]; end;
if firstCall, dak3(14)=[2.55374773097056e-16]; end;
if firstCall, dajp(1) =[6.53219131311457e-02]; end;
if firstCall, dajp(2) =[-1.20262933688823e-01]; end;
if firstCall, dajp(3) =[9.78010236263823e-03]; end;
if firstCall, dajp(4) =[1.67948429230505e-02]; end;
if firstCall, dajp(5) =[-1.97146140182132e-03]; end;
if firstCall, dajp(6) =[-8.45560295098867e-04]; end;
if firstCall, dajp(7) =[9.42889620701976e-05]; end;
if firstCall, dajp(8) =[2.25827860945475e-05]; end;
if firstCall, dajp(9) =[-2.29067870915987e-06]; end;
if firstCall, dajp(10) =[-3.76343991136919e-07]; end;
if firstCall, dajp(11) =[3.45663933559565e-08]; end;
if firstCall, dajp(12)=[4.29611332003007e-09]; end;
if firstCall, dajp(13) =[-3.58673691214989e-10]; end;
if firstCall, dajp(14) =[-3.57245881361895e-11]; end;
if firstCall, dajp(15) =[2.72696091066336e-12]; end;
if firstCall, dajp(16) =[2.26120653095771e-13]; end;
if firstCall, dajp(17) =[-1.58763205238303e-14]; end;
if firstCall, dajp(18) =[-1.12604374485125e-15]; end;
if firstCall, dajp(19)=[7.31327529515367e-17]; end;
if firstCall, dajn(1) =[1.08594539632967e-02]; end;
if firstCall, dajn(2) =[8.53313194857091e-02]; end;
if firstCall, dajn(3) =[-3.15277068113058e-01]; end;
if firstCall, dajn(4) =[-8.78420725294257e-02]; end;
if firstCall, dajn(5) =[5.53251906976048e-02]; end;
if firstCall, dajn(6) =[9.41674060503241e-03]; end;
if firstCall, dajn(7) =[-3.32187026018996e-03]; end;
if firstCall, dajn(8) =[-4.11157343156826e-04]; end;
if firstCall, dajn(9) =[1.01297326891346e-04]; end;
if firstCall, dajn(10) =[9.87633682208396e-06]; end;
if firstCall, dajn(11) =[-1.87312969812393e-06]; end;
if firstCall, dajn(12)=[-1.50798500131468e-07]; end;
if firstCall, dajn(13) =[2.32687669525394e-08]; end;
if firstCall, dajn(14) =[1.59599917419225e-09]; end;
if firstCall, dajn(15) =[-2.07665922668385e-10]; end;
if firstCall, dajn(16) =[-1.24103350500302e-11]; end;
if firstCall, dajn(17) =[1.39631765331043e-12]; end;
if firstCall, dajn(18) =[7.39400971155740e-14]; end;
if firstCall, dajn(19)=[-7.32887475627500e-15]; end;
if firstCall, da(1) =[4.91627321104601e-01]; end;
if firstCall, da(2) =[3.11164930427489e-03]; end;
if firstCall, da(3) =[8.23140762854081e-05]; end;
if firstCall, da(4) =[-4.61769776172142e-06]; end;
if firstCall, da(5) =[-6.13158880534626e-08]; end;
if firstCall, da(6) =[2.87295804656520e-08]; end;
if firstCall, da(7) =[-1.81959715372117e-09]; end;
if firstCall, da(8) =[-1.44752826642035e-10]; end;
if firstCall, da(9) =[4.53724043420422e-11]; end;
if firstCall, da(10) =[-3.99655065847223e-12]; end;
if firstCall, da(11) =[-3.24089119830323e-13]; end;
if firstCall, da(12) =[1.62098952568741e-13]; end;
if firstCall, da(13) =[-2.40765247974057e-14]; end;
if firstCall, da(14) =[1.69384811284491e-16]; end;
if firstCall, da(15)=[8.17900786477396e-16]; end;
if firstCall, db(1) =[-2.77571356944231e-01]; end;
if firstCall, db(2) =[4.44212833419920e-03]; end;
if firstCall, db(3) =[-8.42328522190089e-05]; end;
if firstCall, db(4) =[-2.58040318418710e-06]; end;
if firstCall, db(5) =[3.42389720217621e-07]; end;
if firstCall, db(6) =[-6.24286894709776e-09]; end;
if firstCall, db(7) =[-2.36377836844577e-09]; end;
if firstCall, db(8) =[3.16991042656673e-10]; end;
if firstCall, db(9) =[-4.40995691658191e-12]; end;
if firstCall, db(10) =[-5.18674221093575e-12]; end;
if firstCall, db(11) =[9.64874015137022e-13]; end;
if firstCall, db(12) =[-4.90190576608710e-14]; end;
if firstCall, db(13) =[-1.77253430678112e-14]; end;
if firstCall, db(14) =[5.55950610442662e-15]; end;
if firstCall, db(15)=[-7.11793337579530e-16]; end;
firstCall=0;
%***FIRST EXECUTABLE STATEMENT JAIRY
if( x<0.0e0 )
%
if( c>5.0e0 )
%
t = 10.0e0./c - 1.0e0;
tt = t + t;
j = fix(n4);
f1 = a(j);
e1 = b(j);
f2 = 0.0e0;
e2 = 0.0e0;
for i = 1 : m4;
j = fix(j - 1);
temp1 = f1;
temp2 = e1;
f1 = tt.*f1 - f2 + a(j);
e1 = tt.*e1 - e2 + b(j);
f2 = temp1;
e2 = temp2;
end; i = fix(m4+1);
temp1 = t.*f1 - f2 + a(1);
temp2 = t.*e1 - e2 + b(1);
rtrx = sqrt(rx);
cv = c - fpi12;
ccv = cos(cv);
scv = sin(cv);
ai =(temp1.*ccv-temp2.*scv)./rtrx;
j = fix(n4d);
f1 = da(j);
e1 = db(j);
f2 = 0.0e0;
e2 = 0.0e0;
for i = 1 : m4d;
j = fix(j - 1);
temp1 = f1;
temp2 = e1;
f1 = tt.*f1 - f2 + da(j);
e1 = tt.*e1 - e2 + db(j);
f2 = temp1;
e2 = temp2;
end; i = fix(m4d+1);
temp1 = t.*f1 - f2 + da(1);
temp2 = t.*e1 - e2 + db(1);
e1 = ccv.*con5 + 0.5e0.*scv;
e2 = scv.*con5 - 0.5e0.*ccv;
dai =(temp1.*e1-temp2.*e2).*rtrx;
else;
t = 0.4e0.*c - 1.0e0;
tt = t + t;
j = fix(n3);
f1 = ajp(j);
e1 = ajn(j);
f2 = 0.0e0;
e2 = 0.0e0;
for i = 1 : m3;
j = fix(j - 1);
temp1 = f1;
temp2 = e1;
f1 = tt.*f1 - f2 + ajp(j);
e1 = tt.*e1 - e2 + ajn(j);
f2 = temp1;
e2 = temp2;
end; i = fix(m3+1);
ai =(t.*e1-e2+ajn(1)) - x.*(t.*f1-f2+ajp(1));
j = fix(n3d);
f1 = dajp(j);
e1 = dajn(j);
f2 = 0.0e0;
e2 = 0.0e0;
for i = 1 : m3d;
j = fix(j - 1);
temp1 = f1;
temp2 = e1;
f1 = tt.*f1 - f2 + dajp(j);
e1 = tt.*e1 - e2 + dajn(j);
f2 = temp1;
e2 = temp2;
end; i = fix(m3d+1);
dai = x.*x.*(t.*f1-f2+dajp(1)) +(t.*e1-e2+dajn(1));
return;
end;
elseif( c>5.0e0 ) ;
%
t = 10.0e0./c - 1.0e0;
tt = t + t;
j = fix(n1);
f1 = ak3(j);
f2 = 0.0e0;
for i = 1 : m1;
j = fix(j - 1);
temp1 = f1;
f1 = tt.*f1 - f2 + ak3(j);
f2 = temp1;
end; i = fix(m1+1);
rtrx = sqrt(rx);
ec = exp(-c);
ai = ec.*(t.*f1-f2+ak3(1))./rtrx;
j = fix(n1d);
f1 = dak3(j);
f2 = 0.0e0;
for i = 1 : m1d;
j = fix(j - 1);
temp1 = f1;
f1 = tt.*f1 - f2 + dak3(j);
f2 = temp1;
end; i = fix(m1d+1);
dai = -rtrx.*ec.*(t.*f1-f2+dak3(1));
return;
elseif( x>1.20e0 ) ;
%
t =(x+x-con2).*con3;
tt = t + t;
j = fix(n2);
f1 = ak2(j);
f2 = 0.0e0;
for i = 1 : m2;
j = fix(j - 1);
temp1 = f1;
f1 = tt.*f1 - f2 + ak2(j);
f2 = temp1;
end; i = fix(m2+1);
rtrx = sqrt(rx);
ec = exp(-c);
ai = ec.*(t.*f1-f2+ak2(1))./rtrx;
j = fix(n2d);
f1 = dak2(j);
f2 = 0.0e0;
for i = 1 : m2d;
j = fix(j - 1);
temp1 = f1;
f1 = tt.*f1 - f2 + dak2(j);
f2 = temp1;
end; i = fix(m2d+1);
dai = -ec.*(t.*f1-f2+dak2(1)).*rtrx;
return;
else;
t =(x+x-1.2e0).*con4;
tt = t + t;
j = fix(n1);
f1 = ak1(j);
f2 = 0.0e0;
for i = 1 : m1;
j = fix(j - 1);
temp1 = f1;
f1 = tt.*f1 - f2 + ak1(j);
f2 = temp1;
end; i = fix(m1+1);
ai = t.*f1 - f2 + ak1(1);
%
j = fix(n1d);
f1 = dak1(j);
f2 = 0.0e0;
for i = 1 : m1d;
j = fix(j - 1);
temp1 = f1;
f1 = tt.*f1 - f2 + dak1(j);
f2 = temp1;
end; i = fix(m1d+1);
dai = -(t.*f1-f2+dak1(1));
return;
end;
end
%DECK LA05AD
|
|