Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Статистика и анализ геологических данных

..pdf
Скачиваний:
20
Добавлен:
15.11.2022
Размер:
21.12 Mб
Скачать

в списке параметров в том же порядке, что и фиктивные пере­ менные:

SUBROUTINE RANGE (X, N. XMIN, ХМАХ, XRANGE) DIMENSION X (N)

XMIN = X (1)

XMAX = X (1)

DO 10 1 = 1, N

IF (XMIN. GT. X (I)) XMIN = X (I)

IF (XMAX. LT. X (I)) XMAX = X (I) 10Q CONTINUE

XRANGE = SQRT (XM AX-XM IN) RETURN

END

Подпрограмма сначала получает информацию из основной программы о расположении массива X и его размере. Затем по­ лученная информация о массиве используется в операторе DIMENSION для установления соответствия между характери­ стиками массивов во внешней и внутренней программах. Пере­ менным XMIN и ХМАХ присваиваются значения первого эле­ мента массива А. Каждый элемент массива последовательно сравнивается с этими значениями. Если при этом некоторое зна­ чение Х(1) оказывается меньше, чем XMIN, то оно подставля­ ется на место XMIN. Точно так же значение X (I), большее ХМАХ, подставляется на место ХМАХ. Когда с помощью цикла DO будет проверен весь массив, XMIN и ХМАХ дадут экстре­ мальные значения массива и может быть вычислено значение XRANGE. Все значения в списке параметров затем возвраща­ ются в основную программу.

Другие предложения языка ФОРТРАН

В ФОРТРАНе имеется предложение, называемое предпола­ гаемым оператором DO и являющееся комбинацией обычного оператора DO с оператором ввода-вывода. Этот оператор осо­ бенно важен для чтения массивов данных, таких, как многомер­ ная выборка наблюдений. Допустим, что мы сделали измерения различных признаков на нескольких особях брахиопод. Каж­ дый признак мы можем считать отдельной переменной, а именно ширину, толщину, вес и т. д. Используем предложение READ следующего вида:

READ (5, 10) WIDTH (I), THICK (I), WEIGHT (I),

вложенное в цикл DO, который указывает, что карты должны последовательно вводиться и последовательные значения дол­ жны заполнять одномерные массивы. Предполагается, что эти три переменные должны быть пробиты по одной группе наблю­ дений на каждой карте в таком формате, как 3F7.0.

Кроме указанного, можно было бы использовать такое пред­ ложение:

READ (5, 10) ((BRACH (I, J), 1 = 1 , 3), J = 1, N).

Значения трех переменных, содержащихся на последова­ тельно расположенных картах, будут вводиться в память и запиг сываться в прямоугольном массиве, где, например, переменной BRACH(1, J) будет соответствовать переменная WIDTH (I) пре­ дыдущего предложения. Хранение данных в прямоугольных мас­ сивах имеет значительные преимущества при вычислениях, ко­ торые мы будем выполнять в нижеследующих главах.

Информацию об одной переменной, содержащуюся на карте, можно ввести в память и записать в массив, наименование кото­ рого использовано в этом предложении. В приводимом ниже примере

READ (5, 10) (ALPHA (1, J), J = l, 10) 10П FORMAT (10F7.0)

вводится десять значений, содержащихся на карте, которые за­ писываются в память на первых десяти местах первой строки массива ALPHA. Напротив, следующее предложение:

READ (5, 10) (ALPHA (I, 1), 1= 1, 10)

вызывает ввод тех же десяти значений

и

запись

их в памяти

в первых десяти

позициях первого столбца массива ALPHA.

Предполагаемые

предложения

DO

подробно

рассмотрены

у Голда

[5], Мак-Крэкена [7] и Мэррилла и Смита [8]. Предло­

жения,

аналогичные этим,

используются

при вводе и выводе

данных в подпрограммах READM и PRINTM, которые рассмот-

рены в гл. 4.

 

 

 

 

 

 

Предложение

COMMON.

Это

предложение

невыполняемо

и служит лишь для того, чтобы давать информацию связанным между собой подпрограммам. Оно определяет переменные, ко­ торые являются общими для нескольких подпрограмм или функ­ ций и основной программы. Например, если массив данных опре­

деляется как COMMON, то нет

необходимости

приводить его

в

списке параметров предложения CALL или в

подпрограмме,

в

которой он используется. Он

будет использоваться автомати­

чески. Это делает указанное предложение особенно удобным для сокращения списка параметров или для уменьшения числа one-

раторов CALL. Переменные объявляются COMMON с помощью предложения

COMMON ALPHA, BETA, GAMMA,

за которым непосредственно следует предложение DIMENSION основной программы. Все подпрограммы, которые используют информацию, хранимую в COMMON, должны также содержать предложение COMMON, которое описывает каждую соответст­ вующую переменную как переменную COMMON, а не как пере­ менную, используемую в подпрограмме. Названия переменных в предложении COMMON являются фиктивными, в связи с чем последовательность записи названий в COMMON существенна для установления соответствия и различия переменных. Под­ программа может содержать предложение

COMMON GEORGE, SAM, PAUL.

Значение переменной ALPHA в COMMON будет приписано переменной GEORGE в подпрограмме, так как эти имена нахо­ дятся в эквивалентных позициях в предложениях. Любая из этих переменных может быть массивом заданного порядка; если в программе имеется предложение DIMENSION, то использо­ вать индексы в предложении COMMON не обязательно. Допол­ нительная информация по этим вопросам содержится в книгах Голда [5], Мак-Крэкена [7] и Мэррилла и Смита [8].

Предложение DATA. Это предложение также невыполняемо, но содержит информацию для вычислительной машины. С по­ мощью этого предложения переменным приписываются постоян­ ные значения до выполнения вычислений. Если, например, в про­ грамме многократно используется значение я и множитель, пере­ водящих меру угла в градусах в радианную меру, то можно приписать значения этих постоянных переменной и затем просто использовать название этой переменной во всех арифметических предложениях. Предложение DATA имеет вид

DATA PI, RADIAN/3.14159265, 0.01745329/,

тогда арифметическое предложение для вычисления площади круга можно записать следующим образом:

AREA = P I* RADIUS* *2 .

Переменная PI уже имеет требуемое значение, как это ука­ зано в предложении DATA. Точно так же измерения в градусах можно прочитать и использовать в тригонометрических опера­ циях после умножения на RADIAN. Например,

ALPHA = SIN (RADIAN * DEGREE),

5 З а к а з № 455

где DEGREE — переменная, выраженная в градусах. Необхо­ димо отметить, что наименованиям целых переменных должны присваиваться целые значения, а наименованиям вещественных переменных — вещественные значения. Предложения DATA опи­

саны

в книгах Голда

[5], Мак-Крэкена

[7] и Мэррилла и

Смита

[8].

 

 

На этом мы заканчиваем наше рассмотрение ФОРТРАНа IV.

Изложенный материал

будет применен в

следующих главах.

Наш способ изложения значительно отличается от способов, ис­ пользуемых в учебниках программирования, однако читатель уже сможет разобраться в программах, которые будут представ7

лены на следующих страницах. Первые из них совсем

просты,

а значительное количество упражнений позволит

читателю до­

стичь профессионального уровня в составлении программ.

Так как излагаемые ниже процедуры станут

более

слож­

ными, будут приведены необходимые подпрограммы ФОРТРАНа

и

даны указания, как связать их

в работающие программы.

В

связи с этим читатель должен

овладеть ФОРТРАНОМ так,

чтобы иметь возможность следить за логическими шагами про­ грамм и легко изменять их. Автор надеется, что читатель захочет усовершенствовать свои навыки в программировании с помощью других руководств, так как он неизбежно столкнется с тем фак­ том, что «известные» программы никогда не дают того, что ему требуется, и не работают желательным образом. Он, очевидно, придет к выводу, что наши учебные программы не отвечают его интересам. Перечень учебников по программированию поможет ему в овладении наиболее развитыми аспектами ФОРТРАНа и даст дополнительные источники программ и алгоритмов, часть которых перечислена в приложении.

СПИСОК ЛИТЕРАТУРЫ

1.Datamation, Glossary of information-processing terms, Datamation, Green­ wich, Conn., 62, 1962.

Небольшая и полезная брошюра, содержащая определения терминов, обычно употребляемых специалистами по вычислительной математике.

2. McCalla Т. R., Introduction to numerical methods and FORTRAN program­ ming, John Wiley & Sons, Inc., New York, 359, 1967.

Эту книгу можно рекомендовать и как руководство по ФОРТРАНу, и как учебник по численному анализу. Вероятно, она будет полезной тем, кто хочет развить и усовершенствовать процедуры, описанные в гл. 5, 6 и 7.

3. Ralston A., Wilf Н. S., eds.y Mathematical methods for digital computers, I, John Wiley & Sons, Inc., New York, 293, 1967, II, 287, 1960.

Эти два тома состоят из статей, относящихся почти ко всем разделам численного анализа и его применению в вычислительной математике. Они являются неоценимым источником алгоритмов почти по всем методам матричной алгебры.

4.Sterling Т. D., Pollack S. V., Introduction to statistical data processing, Prentice-Hall, Inc., Englewood Cliffs, N. J., 663, 1968.

Книга содержит подробное описание устройства вычислительных машин, их работы, за которым следует очень подробное рассмотрение вопросов ввода данных, действий с ними, вывода данных, а также изложение основ статистического анализа.

Проведенный недавно анализ позволил выделить 183 различных учебника программирования, исключая руководства и другие материалы, изданные непосредственно вычислительными центрами. Четыре указанных ниже книги выбраны нами лишь по той причине, что они представляются вполне при­ емлемыми. Многие другие, несомненно, могут вполне заменить их.

5. Golde Я., FORTRAN II and IV for engineers and scientists, Macmillan Co., New York, 224, 1966.

6. Golden J. 7., FORTRAN IV programming and computing, Prentice-Hall, Inc., Englewood Cliffs, N. J., 270, 1965.

7. McCracken D. D., A guide to FORTRAN IV programming, John Wiley & Sons,

Inc., New York, 151, 1965.

IV

programming,

8. Murrill P. W.. Smith C. L., An introduction to FORTRAN

a general approach, International Textbook Co., Scranton,

Pa.,

276, 1970.

Глава 3

ЭЛЕМЕНТАРНАЯ СТАТИСТИКА

Несмотря на то что непосредственнее наблюдения геологов ограничены поверхностью земной коры, они пытаются выяснить природу ядра и мантии, а также глубинных слоев земной коры. Кроме того, они изучают процессы эволюции Земли, такие, как горообразование и развитие континентов, недосягаемые для пря­ мого исследования. Если не считать астрономов, то не сущест­ вует другой группы ученых, более удаленных от предмета ис­ следования и имеющих меньшие возможности экспериментиро­ вать над ним, чем геологи. Геология в значительной степени остается наукой, основанной на наблюдениях, в частности на таких, которые содержат большую долю неопределенности. В связи с этим статистике предназначено играть огромную роль в подобных исследованиях. Несмотря на то что первоначально термин «статистика» имел отношение к подсчету числовых ха­ рактеристик, как, например, при игре в бейсбол, сейчас она при­ меняется и для анализа данных, особенно в условиях неопреде­ ленности. Статистические задачи скрыто или явно встречаются там, где содержится элемент случайности. Геологи должны иметь представление об этих задачах и о тех статистических приемах, которые позволяют их решать.

Вероятность

Несмотря на то что существует много руководств по теории вероятностей, представляется полезным остановиться на том, как определяется вероятное событие через возможное. В любом явлении существует некоторое множество (иногда бесконечное) возможных исходов, которые находятся в вероятностной зависи­ мости, описываемой частотой встречаемости. Анализируя вероят­ ности этих исходов, можно оценить поведение изучаемого объ­ екта или события в прошлом или будущем.

Каждый из нас имеет интуитивное представление о вероятно­ сти. Например, если вас спросят, будет ли завтра дождь, вы от­ ветите с некоторой степенью уверенности, что дождь либо воз­ можен, либо невозможен, или в редком случае, что дождь будет обязательно, или, наоборот, что дождя наверняка не будет. Од­ ним из способов выражения нашей уверенности является число­ вая шкала, например процентная. Если мы полагаем, что веро­ ятность дождя 30%, то вероятность того, что дождя не будет, равна 70%.

Ученые обычно выражают вероятность числами от 0 до 1 или эквивалентным числом процентов от 0 до 100%. Если мы гово­ рим, что вероятность дождя завтра 0, мы абсолютно уверены в том, что дождя завтра не будет. Однако, если мы говорим, что вероятность дождя 1 , мы абсолютно уверены в том, что дождь будет. Вероятность, выраженная таким способом, подобна ут­ верждению о правдоподобии события. Абсолютной уверенности соответствуют крайние значения шкалы, а различной степени уверенности — промежуточные. Например, если мы говорим, что вероятность дождя завтра равна V2 (а значит, и того, что дождя не будет, тоже V2), мы выражаем свою точку зрения с наимень­ шей степенью уверенности. Если мы говорим, что вероятность дождя равна 3Д (а того, что дождя не будет, V4), мы выражаем

меньшую степень

неуверенности, так

как вероятность дождя

в 3 раза больше вероятности того, что дождя не будет.

Наши оценки

вероятности

дождя

могут

быть основаны на

многих факторах,

а также на

субъективных

ощущениях. Мы,

однако, будем использовать другой подход, позволяющий на ос­ новании предшествующего поведения явления, такого, напри­ мер, как погода, предвидеть его поведение в будущем. Такой подход к определению вероятности через «относительные ча­ стоты» интуитивно приемлем геологами, так как эта концепция тесно связана с понятием однородности. В некоторых случаях бывают полезны другие подходы к определению вероятности, но мы не будем на них останавливаться, так как они подробно из­ ложены в книгах Фишера [4] и фон Мизеса [16].

Пример с дождем является дискретным, так как здесь может быть и может не быть дождя. Классический дискретный пример, приводимый во всех руководствах по теории вероятностей, свя­ зан с бросанием правильной монеты. Одно бросание имеет два исхода: герб и решка, которые равновероятны. Поэтому вероят­ ность выпадения герба равна 72. Это, конечно, означает не то, что в каждом втором бросании выпадет герб, а скорее то, что при достаточно большом числе бросаний приблизительно поло­ вина исходов — гербы. Бросание монеты — очень хороший при­ мер для иллюстрации определения вероятности. Событие имеет два исхода, и один из них обязательно будет иметь место; если

не учитывать очень малую вероятность того, что монета может встать на ребро, то всегда выпадет либо герб, либо решка.

На основе схемы бросания монеты можно построить интерес­ ную последовательность вероятностей. Если вероятность выпа­ дения герба равна l/2i то вероятность выпадения двух гербов при двух бросаниях равна l/2- V2 = 74.чДал_ее вероятность выпадения трех гербов при трех бросаниях равна 7г* 72* 72 = 7в. Обоснова­ ние этой прогрессии простое. В первом бросании вероятность выпадения герба 1/2. Так как исход второго бросания не зависит от первого, наши возможности получить герб во втором броса­ ний снова 7г. Подобно этому, третье бросание не зависит от пре­ дыдущих, и вероятность выпадения герба в третьем бросании снова равна 1/2. Итак, вероятность выпадения трех гербов со­ ставляет «половину половины половины».

Предположим, что теперь нам нужно определить вероятность выпадения только одного герба в трех бросаниях. Имеются сле­ дующие возможные исходы (Г — герб; Р — решка):

ГГГ

ГРГ

РРР

Т Г Р

РГГ

[РГР]

[ГРР]

[РРГI

 

В скобки взяты те комбинации, которые удовлетворяют на­ шим требованиям, т. е. они содержат только один герб. Так как имеется 8 различных комбинаций, вероятность получения только одного герба при трех бросаниях равна 3/8.

Полученное нами число представляет собой число возможных комбинаций из трех по одному. Обобщая этот пример, можно определить число возможных сочетаний из п элементов по г.

Это число символически изображается так:

Можно доказать, что число сочетаний из п элементов по г равно

п 1

(3.1)

г ! (п — г) 1

Восклицательный знак обозначает факториал, и п! есть про­ изведение п последовательных целых чисел:

 

п ! = 1

2

• 3 • • • п.

(3.2)

Значение 3! равно 3 • 2 • 1 =

6. В нашей задаче

/ 3 \ __

3 !

_

3 - 2 - 1

_ 6

\ 1 /

1 ! (3— 1 )!

 

1 (2 1 )

2 =

т. е. имеется три возможные комбинации, содержащие один