Файл: Булах Е.Г. Автоматизированная система интерпретации гравитационных аномалий (метод минимизации).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 28.07.2024
Просмотров: 111
Скачиваний: 0
необходимо ввести |
значения величин п — количество точек, кото |
||||||
рые используются |
при |
решении |
задачи, m — количество |
возму |
|||
щающих тел, |
которыми |
аппроксимируется геологическая |
схема. |
||||
Что же касается величины (Т + |
К) |
— общее количество |
параметров |
||||
в элементарном |
геологическом |
теле, то оно постоянно |
для |
каждой |
конкретной задачи. Например, если геологическое тело представ
ляется совокупностью |
цилиндрических |
тел, |
то Т + К — 4, |
Т = |
= 3 (это параметры t, |
h, d), а параметр |
/< = |
1 это sign а. Если |
гео |
логическая схема описана как совокупность прямых уступов, огра
ниченных по простиранию (рис. 1), то |
чаще |
всего |
Т — 1 (этим |
|||||||||
параметром |
является |
d— |
положение |
грани |
уступа). |
Величина |
||||||
К = 5 (a, |
h, |
H, |
Іъ |
U) — все |
они |
считаются постоянными и |
||||||
не подлежат изменениям в процессе минимизации (1.2). |
|
|
||||||||||
Далее в |
память |
машины |
должны быть |
записаны |
значения |
F K 0 I I |
||||||
и АК 0 1 І . Эти |
величины |
определят |
окончание вычислительных |
цик |
||||||||
лов по критериям (1.13) и (1.14). |
|
|
|
|
|
|
|
|||||
Значение |
FKon |
может быть вычислено, а |
величина |
Д К 0 І І |
задается. |
|||||||
Она должна |
быть определена в |
процессе |
опробования конкретных |
практических задач или установлена из модельных исследований. Чаще всего эта величина колеблется в пределах 0,05—0,02. Таким образом, в оперативном запоминающем устройстве выделяется мас сив исходных значений для решения задачи. Обозначим его Мх. Размеры этого массива зависят от величины п и /п.
Введенная в вычислительную машину информация печатается. Это необходимо для возможной проверки исходных данных. Ведь даже незначительная на первый взгляд ошибка во введенной число вой информации может исказить замысел интерпретатора, и задача не будет решена.
Теперь вновь обратимся к описанию переменных величин в программе. Символами і, j обозначены переменные индексы: і изме
няется от |
0 до п, j — от |
0 до пг. Величины SKL, |
T K L , Р35, |
Р7 |
|
определяются в самой программе. Первые две величины нужны |
для |
||||
передачи |
управления по |
переключателям switch |
KLM2: |
= |
АО, |
A I , А2, A3; switch КХ37: |
= Т6, Т14, Û. Возле наименования |
пере |
ключателя указаны метки, которыми обозначены некоторые опера торы в программе. Величина SKL в процессе решения задачи может принимать значение от 1 до 4. В зависимости от значения этой ве личины переключатель KLM2 передает управление одному из опе раторов с метками АО, A l , А2 или A3. Величина T K L может при нимать в вычислительном процессе значения от 1 до 3. Целые числа Р35 и Р7 так же используются для передачи управления.
Далее описаны массивы действительных чисел. В начале идут координаты точек и значения поля в данных точках, затем парамет ры геологической схемы. Д л я записи промежуточных данных выделе
но две |
группы массивов 7И2 и М3. |
В группе М2 выделены массивы |
||||
РР1М2, |
РР2М2, |
РРТМ2 [1 : m] для записи результатов |
вычис |
|||
лений |
в |
очередной |
итерации параметров |
геологической |
схемы. |
|
В каждом |
цикле вычислительного |
процесса |
после изменений |
геоло- |
30
гической схемы делается расчет гравитационного поля |
У т е о р |
(хс, t/t) |
|
в и |
точках. В программе этот массив обозначен GTM2 |
[1 : п\. |
В мас |
сив |
М3 переписываются вычисленные значения |
геологических |
параметров и рассчитанное гравитационное поле (массивы РР1МЗ,
РР2МЗ, ... РРТМЗ [1 : т] |
и |
GTM3 [1 :л]). Символами FPR1, |
FPR2, |
|||||||
... FPRT [1 : т] |
обозначены |
массивы |
значений |
производных |
от |
|||||
функции (1.2) по искомым параметрам. |
|
|
|
|
||||||
Затем следует описание действительных чисел. Как указыва |
||||||||||
лось, |
FK 0 1 I , А к о п |
вводятся |
вместе с |
исходными данными. Они опи |
||||||
саны |
идентификаторами |
FKON |
и |
DELT . |
О |
значении |
других |
|||
чисел будет сказано дальше. |
|
|
|
|
|
s1 |
||||
Теперь перейдем к описанию |
самой программы. Величинам |
|||||||||
и s2 присваиваются значения |
соответственно |
1,0 и 2,0. Целое |
число |
Р7 получает значение 0. Далее следует составной оператор. Он опи сан меткой N . В цикле переписываются значения переменных па
раметров в массиве М2. Переменным Р35, SKL, |
T K L присваивается |
значение 1 и управление передается оператору, |
которому присвое |
на метка А. |
|
В самом конце программы помещены четыре группы операторов, возле которых стоят метки А, В, С, К . Они тесно связаны между со
бой, и представляют, по сути, |
специализированные подпрограммы. |
|||
Меткой |
А обозначен блок, |
в |
котором вычисляются значения |
|
|
|
|
m |
|
|
Ѵтеор (*£і Ус) = |
І Ѵ^/теор (Х[, |
Ус). |
|
|
|
|
і=\ |
|
Под меткой |
В записан блок вычисления функции |
|||
|
п |
|
|
|
|
F = Il [Ѵнабл (ХІ, |
У[) — Ѵтеор (*„ |
Ус)?. |
Работает блок в одном вычислительном цикле четыре раза. Здесь помещен переключатель КХМ2 (switch KLM2: = АО, A I , А2, A3;).
Функция F поочередно записывается в |
четыре разные ячейки |
памяти. |
|
На следующий блок (метка С) переходят только в том случае, |
|
если число Р35 Ф 0. Здесь вычисляются |
производные функции F |
по искомым параметрам. Эти величины в каждом цикле вычисляют ся только один раз. Значит, каждый раз при переходе к А (а значит,
и к блоку |
В, который следует за ним) всегда |
нужно обращать вни |
|
мание на |
значения числа |
Р35. |
|
С помощью оператора |
К осуществляет выход из этой своеобраз |
||
ной подпрограммы в нужное место основной |
программы. |
Обращает на себя внимание, что операторы А и С не могут быть описаны конкретно в общей программе. В каждой задаче будут свои функции Ѵ/теор (xt, ус), значит, и разные значения производных функции F. При рассмотрении конкретных задач необходимо опи сать эти блоки.
Выход из подпрограммы с метками А — В — С — К осуществ ляется на оператор Т6 при (TKL = 1). Вычисленное значение функ-
31
ции F, массив |
Ѵ т е о р (xi, t/i) |
и значения |
переменных |
параметров |
||
переписываются в массив М3. |
Затем |
управление передается |
опера |
|||
тору Т9. Осуществляется вывод на печать прямой задачи. |
Таким |
|||||
образом, есть |
возможность сравнить |
У н а б л |
(xi, уі) с |
У т е о Р |
(xi, уі), |
которая вычислена для схемы первого приближения. Здесь может быть остановлен весь вычислительный процесс и введена коррек тива в схему первого приближения геологического строения, если интерпретатор решит, что она неудовлетворительно была состав лена ранее. Оператором Р7 : = 1 закрывается в дальнейшем доступ к оператору Т9.
В блоке Т10 вычисляется коэффициент Хш- Затем |
(оператор Т11) |
|
для s = Sx и s = s2 определяются |
значения искомых параметров, |
|
при этом каждый раз обращаются к |
подпрограммам |
(блоки А — К). |
Перед переходом на блок А параметрам Р35 и ТКХ присваиваются
значения соответственно 0 и 2. Это как раз и нужно, чтобы |
опустить |
||||||||||
расчет |
производных (блок |
С) и |
вернуться к оператору |
Т14. Здесь |
|||||||
отыскивается F = Fmin |
и |
в массив М3 переписываются |
значения |
||||||||
параметров геологической схемы и соответствующий |
им |
массив |
|||||||||
^теор (Xl, |
Уі)- |
|
|
|
|
|
|
|
|
|
|
Далее |
вычисляется |
коэффициент s по формуле (1.26) |
и вновь |
||||||||
рассчитываются |
значения |
геологических |
параметров |
(при |
этом |
||||||
опять |
передается |
управление |
подпрограммам А — К). Меткой Д |
||||||||
обозначены операторы |
анализа |
на минимум |
вычисленной |
|
функции |
||||||
F. Затем проверяются |
некоторые отношения. Если Fmln |
(она имеет |
|||||||||
идентификатор FM3) равна |
F0, |
то это свидетельствует |
о том, |
что |
|||||||
функция в данном цикле не уменьшилась. Мы достигли |
возможно |
||||||||||
го Fmin |
при конкретных геологических данных. Вычисления |
должны |
|||||||||
быть |
закончены. |
|
наступает и тогда, когда Fm-in |
•< FK0„ |
|
||||||
Конец |
вычисления |
или |
|||||||||
характер |
монотонного |
изменения функции |
достаточно |
|
мал. При |
этом печатаются результаты минимизации: значения параметров, подобранная функция и сама функция F (метка Д1).
Если же ни один из описанных |
критериев не выполнен, то под |
||||||||
готавливается переход к новой итерации |
и управление передается |
||||||||
блоку N . |
|
|
|
|
|
|
|
|
|
Программа минимизации функционалов |
|
|
|
||||||
Begin |
|
|
|
|
|
|
|
|
|
integer n, m, i , j |
, P7, P35, S K L , T K L , T; |
|
|||||||
real array X T , Y T , G N A B L |
[ l : n ] , |
|
|
||||||
|
PP1, |
PP2, ... PPT |
[ l : m ] , |
|
|
|
|||
|
P I , |
P2, ... P K [l:ra], |
|
|
|
||||
|
PP1M2, |
PP2M2, |
... PPTM2 |
[ l : m ] , |
|||||
|
GTM2 |
[ l : n ] , |
|
|
|
|
|
|
|
|
PP1M3, |
PP2M3, |
... PPTM3 |
[ l : m ] , |
|||||
|
GTM3 |
[ l : n ] , |
|
|
|
|
|
|
|
|
F P R 1 , |
FPR2, |
... F P R T |
[ l : m ] ; |
|
||||
real |
F K O N , |
D E L T , |
FM2, FO, F l , F2, |
FF, |
|||||
|
FM3, L A M , S I , S2, |
SW; |
|
|
|
||||
switch |
K L M 2 : = A O , A l , A2, A3i |
|
|
||||||
switch |
K L 3 7 : = T 6 , T14, |
D ; |
|
|
|
32
Ввод |
Begin |
integer |
n, m; real |
F K O N , |
D E L T ; |
|
|
||||||||
|
real |
array X T , Y T , G N A B L |
[ l : n ] , |
|
|
|
|
||||||||
|
|
|
PP1, |
PP2, |
... PPT |
[ l : m ] , |
|
|
|
|
|||||
|
|
|
P I , |
P2, |
... P K |
[ l : m ] end |
|
|
|
|
|||||
Печать |
Begin |
real array |
X T , Y T , G N A B L |
[ l : n ] , |
|
|
|||||||||
|
|
|
PP1, |
PP2, |
... PPT |
[ l : m ] , |
|
|
|
|
|||||
|
|
|
P I , |
P2, |
... PK |
( l : m ] end |
|
|
|
|
|||||
|
Begin |
S l : = 1.0; S2:=2 . 0; |
P 7 : = 0 end |
|
|
||||||||||
N : |
Begin |
for j : = l step |
1 until m |
do |
|
|
|
|
|||||||
|
Begin |
P P l M 2 [ j ] : = P P l [ j ] ; |
P P 2 M 2 [ j ] : = P P 2 [ j ] ; ... |
|
|||||||||||
|
|
|
P P T M 2 [ j ] : = P P T |
[j] end |
|
|
|
|
|||||||
|
|
|
P 3 5 : = S K L : = T K L : = 1 ; |
go |
to A end |
|
|
||||||||
T6: for j : = 1 step 1 until |
m do |
|
|
|
|
|
|
||||||||
|
Begin |
P P l M 3 [ j ] : = |
P P l M 2 [ j ] ; |
PP2M3[j]:=PP2M2[j]s |
|
||||||||||
|
|
|
. . . P P T M 3 [ j ] : = P P T M 2 [ j ] end |
|
|
||||||||||
|
|
|
F M 3 : = F M 2 ; |
|
|
|
|
|
|
|
|
|
|||
|
|
|
for i : = l step |
1 until n |
do |
|
|
|
|
||||||
|
|
|
G T M 3 [ i ] : = G T M 2 [ i ] ; |
|
|
|
|
|
|||||||
|
|
|
if P7 = |
0 then |
go to T9 else go to T10; |
|
|||||||||
T9: |
Begin |
|
P 7 : = l ; |
|
|
|
|
|
|
|
|
|
|
|
|
|
Печать (real FO; array |
GTM 2 [i:n]} |
end |
|
|
||||||||||
T10: |
Begin |
real sum, K W ; |
|
|
|
|
|
|
|
|
|
||||
|
|
|
sum:=0 . 0 |
|
|
|
|
|
|
|
|
|
|
||
|
for |
j : = l step |
1 u n t i l |
m do |
|
|
|
|
|
|
|
||||
|
Begin |
K W : = F P R l [ j ] t |
2 + |
FPR2[j] |
t |
2 ... + |
F P R T [ j ] t |
2; |
|||||||
|
|
|
sum:=su m + |
K W end |
|
|
|
|
|
||||||
|
|
|
L A M : = F M 2 / s u m |
end |
|
|
|
|
|
||||||
T i l : |
for S W : = S 1 , S2 do |
|
|
|
|
|
|
|
|
|
|
||||
|
Begin |
for j : = l step |
1 until |
m do |
|
|
|
|
|||||||
|
Begin |
PP1M2 [ j ] : = P P l |
[j] — SW X |
L A M X |
F P R l [ j ] ; |
|
|||||||||
|
|
|
P P T M 2 [ j ] : = P P T [ j ] |
— SW X |
L A M X |
F P R T [ j ] |
end |
||||||||
|
|
|
P35:=0 ; T K L : = 2 ; |
go to A; |
|
|
|
||||||||
T14: of FM3 > FM2 then |
|
|
|
|
|
|
|
|
|
|
|||||
|
Begin |
F M 3 : = F M 2 ; |
|
|
|
|
|
|
|
|
|
|
|||
|
for |
j : = l step |
1 until |
m do |
|
|
|
|
|
|
|||||
|
Begin |
PP1M3 [ j ] : = P P l M 2 [ j ] ; |
|
|
|
|
|
||||||||
|
|
|
PPTM3 |
[ j ] : = P P T M 2 [j] end |
|
|
|
||||||||
|
for |
i : = l step |
1 until n do |
|
|
|
|
|
|
|
|||||
|
|
|
GTM3 |
[ i ] : = G T M 2 |
[i ] end |
end |
|
|
|||||||
|
|
|
S W : = ( S 2 X S2 X (FI — FO) — S I X S I X (F2 — FO))/ |
||||||||||||
|
|
|
(2.0 X |
(S2 X |
(F l — FO) — SI X (F2—FO))); |
|
|||||||||
|
for |
j : = l step |
1 u n t i l |
m |
do |
|
|
|
|
|
|
||||
|
Begin |
P P l M 2 [ j ] : = P P l [ j ] |
— SW X |
L A M X F P R l [ j ] ; |
|
||||||||||
|
|
|
PPTM2[j] = |
PPT[j] — SW X L A M X F P R T [ j ] |
end |
||||||||||
|
|
|
T K L : = 3 ; go to A ; |
|
|
|
|
|
|
||||||
D: if FM3 > FM2 then |
|
|
|
|
|
|
|
|
|
|
|||||
|
Begin |
F M 3 — F M 2 ; |
|
|
|
|
|
|
|
|
|
|
|||
|
for |
i : = 1 ster |
1 u n t i l |
n do |
|
|
|
|
|
|
|
||||
|
|
|
G T M 3 [ i ] : = G T M 2 [ i ] ; |
|
|
|
|
|
|||||||
|
for |
j : = l step 1 |
u n t i l |
m do |
|
|
|
|
|
|
|||||
|
Begin |
P P l M 3 [ j ] : = P P l M 2 [ j ] ; |
|
|
|
|
|
||||||||
|
|
|
P P T M 3 [ j ] : = P P T M 2 [ j ] |
end ' |
|
|
|
||||||||
|
|
|
if (FM3 = |
FO) V (FM3 < |
F K O N ) V |
(abs (((FM3 - FO)/FM3) |
|||||||||
|
|
|
< D E L T ) ) |
then go to D l ; |
|
|
|
|
8 |
2—И45 |
33 |