.: Физматлит, 2001. - 672с.
Павлова, А.В. Застосування інтегральних перетворень до вирішення завдань для рівнянь в приватних похідних/А.В. Павлова, С.Є. Рубцов, А.В. Смирнова - Кубанський державний університет - М .: Краснодар, 2003. - 28с.
ДОДАТОК А
Лістинг програми на мові Fortran. Пошук нулів і полюсів
program MyDip
dfimsl
real (4) :: omega, alpha/global/omega (4), external :: fr (4), external :: fi (4), external :: znamr (4), external :: znami (4) :: errabs=0.0, errrel=0.0001 (4)::a,b,nulr,polusr,nuli,polusi,nul,polus(4)::maxfn,k1=0,k2=0,k3=0,flag1,flag11,flag2,flag22,flag3,flag33,flag4,flag44,ff1,ff2
(4, file= MOmegaNuli.txt ) (5, file= MNuli.txt ) (6, file= MOmegaPolusa.txt ) (7, file= laquo ; MPolusa.txt )
! головний ціклomega=0.2, 10.0, 0.005
do alpha=0.0,10.0,0.001
flag1=0; flag11=0; flag2=0; flag22=0; flag3=0; flag33=0; flag4=0; flag44=0; ff1=0; ff2=0
! пошук нуля дійсної частини
a=alpha
b=alpha + 0.001
if ((fr (a) * fr (b)) lt;=0.0000) then
maxfn=100
flag1=1
call ZBREN (fr, errabs, errrel, a, b, maxfn)
if (maxfn lt; 100) then
flag11=1
nulr=b
endif
end if
! пошук нуля уявної частини
a=alpha
b=alpha + 0.001
if ((fi (a) * fi (b)) lt;=0.0000) then
maxfn=100
flag3=1
call ZBREN (fi, errabs, errrel, a, b, maxfn)
if (maxfn lt; 100) then
flag33=1
nuli=b
endif
end if
! пошук полюса дійсної частини
! для функції знаменника
a=alpha
b=alpha + 0.001
if ((znamr (a) * znamr (b)) lt;=0.0000) then
maxfn=100
flag2=1
call ZBREN (znamr, errabs, errrel, a, b, maxfn)
if (maxfn lt;100) then
flag22=1
polusr=b
endif
end if
! пошук полюса уявної частини
! для функції знаменника
a=alpha
b=alpha + 0.001
if ((znami (a) * znami (b)) lt;=0.0000) then
maxfn=100
flag4=1
call ZBREN (znami, errabs, errrel, a, b, maxfn)
if (maxfn lt; 100) then
flag44=1
polusi=b
endif
end if
if ((flag11 == 1) .and. (flag33 == 1)) then
if (abs (nulr - nuli) lt; 0.0001) then
nul=nulr
ff1=1
endif
endif
if ((flag22 == 1) .and. (flag44 == 1)) then
if (abs (polusr - polusi) lt; 0.0001) then
polus=polusr
ff2=1
endif
endif
if ((ff1 == 1) .and. (ff2 == 1) .and. (nul /=polus)) then
write (4, *) omega! висновок омеги в файл
write (5, (3f14.8) ), nul! форматний висновок кореня
k1=k1 + 1
write (6, *) omega! висновок омеги в файл
write (7, (3f14.8) ), polus! форматний висновок кореня
k2=k2 + 1
elseif (ff1 == 1 .and. (ff2 == 0)) then
write (4, *) omega! висновок омеги в файл
write (5, (3f14.8) ), nul! форматний висновок кореня
k1=k1 + 1
elseif (ff2 == 1 .and. (ff1 == 0)) then
write (6, *) omega! висновок омеги в файл
write (7, (3f14.8) ), polus! форматний висновок кореня
k2=k2 + 1
endif
end dodo (*, *) k1 (*,...