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

книги / Теория инженерного эксперимента

..pdf
Скачиваний:
18
Добавлен:
12.11.2023
Размер:
13.91 Mб
Скачать

найдите время, соответствующее массе, равной 60 г. Срав­ ните полученный результат с данными на графике (фиг. А.2).

10.7. Четыре точки имеют следующие координаты:

X

1

3

4

6

У

3

3

2

2

С помощью формулы Лагранжа оцените значения при X = 2, 0 и 5. Используйте в каждом случае только че­ тыре заданные точки и нанесите полученные результаты

на график.

10.8.

Определите наличие точек перегиба и максимумов

или минимумов для следующих экспериментальных функ­

ций и укажите, каким образом знание этих точек помо­

гает в экспериментальной работе и при анализе данных.

а)

Формула Френсиса для щелевого водослива имеет

вид

Q=3,33 0,2Н) Н3/2,

 

где Q — расход воды (куб. фут/сек), Н — напор (фут),

В — ширина водосброса (фут). Необходимо провести

эксперимент с конкретным водосливом для проверки пра­ вильности коэффициента 3,33, входящего в уравнение.

|б) Зависимость коэффициента теплопередачи J от числа Рейнольдса и отношения длины трубы L к диамет­ ру D имеет следующий вид:

, = 0 . 0 2 3 ( J ^ r

Требуется проверить это уравнение при различных усло­ виях на входе трубы, сохраняя постоянными все величи­ ны, кроме диаметра трубы, и определяя влияние D на J . При каких значениях отношения L/D следует проводить

этот

эксперимент?

в)

Уравнение Ричардсона для электронного тока

эмиссии i от поверхности, нагреваемой до абсолютной тем­ пературы Т, имеет вид

t= A 72e-Vr

гдеМ и 6

0' — постоянные. Имея график зависимости i от

Т, оцените величину Ь0. Указание: с помощью второй про­

изводной исследуйте изменение наклона кривой.

к*

10.9.

Длинная тонкая пластина нагревается’ с одного

конца и рассеивает тепло со своей поверхности. Известна

температура поверхности вдоль длины пластины. В любой

точке поверхности потеря тепла пластиной составляет ЛДЛ(Т — Тс), где А — известный коэффициент теплопе­ редачи, ДА — площадь, на которой температура сохра­ няется равной Т, а Тс — постоянная температура окру­ жающей среды. Если T — (Th— Tc)e~mx + Тс, где m — некоторая постоянная, Тн — известная температура у основания пластины и А = 2nR2dx, то путем интегриро­ вания найдите общие потери тепловой энергии при длине пластины/, и проверьте количество поступающей энергии. (Это довольно сложная форма энергетического баланса,

рассмотренного

в

гл.

7.)

 

 

 

 

 

 

 

 

 

 

 

 

 

ЛИТЕРАТУРА

 

 

 

 

 

1 . H o e l s c h e r

R. , A r n o l d J. N. . P i e r c e

S. H. ,

G ra­

 

phic A ids in

E ngineering Com putation, Ch. 4, M cG raw -H ill, N .Y .,

 

1952.

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

L i d d i с о a t

R .,

P o t t s

P .,

Laboratory

Manual

of M ate­

 

rials T esting,

M acm illan,

N .Y .,

1952.

 

 

 

 

 

3 . O l d e n b u r g e r

R .,

M athem atical

E ngineering

A n alysis,

 

M acm illan,

N .Y ., 1950.

 

 

 

 

 

 

 

 

4.

S m i t h

E. ,

S a l k o v e r

M.,

J u s

t i с e

H .,

U nited C al­

 

culus, W iley,

N .Y .,

1947.

 

 

 

 

 

 

 

 

5.

W i 1 s о n

E . B .,

An

Introduction

to Scien tific

R esearch,Chs.

11

 

and 12, M cG raw -H ill,

N .Y ., 1952.

 

 

 

 

 

 

6.

W o r t h i n g

A . G .,

G e f f n e r

J .,

Treatm ent of

E xperim en­

 

tal D ata, Chs. 3,

4 and

10,

W iley, N .Y .,

1943.

 

 

 

 

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ФОРТРАН ПРИ ПРОВЕДЕНИИ ЭКСПЕРИМЕНТОВ

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

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

тить серьезные затруднения в практической деятельности и упустить довольно важные возможности профессио­ нальной подготовки.

Программы для ЭВМ, во всяком случае в Соединенных Штатах, составлены главным образом на языке ФОРТРАН

(FORTRAN — FORmula

TRANslator), разработанном

группами прикладного

программирования фирмы «Ин­

тернешнл бизнес мэшинз». Словарь языка ФОРТРАН состоит примерно из десяти простых английских слов. Существует несколько вариантов этого языка, например ФОРГО (FORGO), ФОРТРАН-Н, ФОРТРАН-IV и ЭЙФИТ ФОРТРАН (AFIT FORTRAN). Эти варианты отличаются друг от друга лишь в деталях. В некоторых случаях они обеспечивают большую свободу применения операторов ввода и (или) вывода данных. В других слу­ чаях они позволяют составить трехмерные матрицы или легко построить логические силлогизмы. Эксперимента­ тору редко требуются более сложные программы, поэтому в данной главе будут рассмотрены наиболее простые ме­ тоды использования языка ФОРТРАН. В предыдущих главах мы рассмотрели от начала до конца типичную схе­ му экспериментальной работы, а в этой главе проследим за построением типичной программы от ввода данных до считывания результата, обращая в каждом разделе ос­ новное внимание на те аспекты языка, которые наиболее важны с точки зрения экспериментальной работы.

11.1. Операторы ввода данных

Обычно в компиляторах применяются два основных оператора ввода данных: READ (ЧИТАТЬ) — при ис­ пользовании перфокарт и ACCEPT (ПРИНЯТЬ) — при вводе данных с печатающего устройства. Кроме того, в начале программы часто необходимо применение двух других операторов: FORMAT (ФОРМАТ) и DIMENSION (РАЗМЕРНОСТЬ).

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

более подробным его описаниям в литературе, перечень которой дается в конце главы. Обычно оператор FORMAT указывает число значащих цифр, вводимых в машину, положение запятой и порядок расположения входных дан­ ных на перфокартах. В некоторых простых вариантах языка ФОРТРАН не требуется применения оператора FORMAT, в этом случае числа вводятся в следующем виде: 3,445; 0,00178 или 16 700. Если же число слишком велико или слишком мало и для его записи требуется более восьми знаков (предел, устанавливаемый в некото­ рых компиляторах), то число записывается в виде произ­ ведения на некоторую степень числа 10. Например, 0,000000688 записывается как 0.688Е — 6 , что соответст­ вует 0 ,6 8 -8 10_в. Необходимо тщательно изучить особен­ ности работы компилятора и разобраться, каким должен быть оператор FORMAT в каждом конкретном случае.

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

Допустим, что необходимо составить программу для вычисления по формуле (2.15) среднего значения пяти чисел. Вначале необходимо указать, каким образом мы намерены обозначить эти числа. Длина выбранных обозна­ чений или названий переменных не должна превышать пяти знаков. Следует заметить, что названия, начинаю­ щиеся с букв I, J, К, L, М и N, могут использоваться только для чисел с фиксированной запятой. В языке ФОРТРАН числа с фиксированной запятой заключены в интервале ±9999 и не содержат в явном виде указания о положении запятой. Они предназначаются специально для индексных выражений и по существу представляют собой целые числа.

Обозначения могут иметь следующий вид: RPM1,

RPM2, RPM3 и т. д.

или

FLOW1, FLOW2,

FLOW3

и т. д. при условии,

что

они начинаются

с букв

от А до Н или от О до Z. Обозначение COEFIC1 является слишком длинным. Обозначение MORPO требует, чтобы переменная была числом с фиксированной запятой. Если необходимо вычислить среднее из пяти значений скорости цртока в трубопроводе и данные вводятся в машину с

перфокарт, то оператор ввода данных может иметь сле­ дующий вид (оператор FORMAT опускается):

READ, VEL1, VEL2, VEL3, VEL4, VEL5

Эта команда требует, чтобы вычислительная машина считала с одной или нескольких перфокарт пять чисел, обозначаемых как VEL1, VEL2 и т. д., и запомнила их в указанной последовательности.

1 1.2 . Массивы с индексами; оператор DO

Во многих задачах, связанных с обработкой данных, количество входных данных может быть различным в зависимости от характера эксперимента. Мы не всегда будем иметь розно пять значений скорости, как в преды­ дущем примере. Может потребоваться усреднить N зна­ чений скорости; разумеется, N не может превышать не­ которого максимального числа. Чтобы записать такую более общую программу, необходим некоторый способ обозначения переменного количества данных, вводимых в машину. В языке ФОРТРАН это достигается с помощью оператора DO (ВЫПОЛНИТЬ) и введения индексов. Вопёрвых, в вычислительную машину необходимо ввести информацию о том, какое значение N рассматривается в каждом конкретном случае, поэтому число N должно составлять часть входных данных, записанных с фикси­ рованной запятой. Тогда первый оператор ввода данных будет иметь следующий вид:

 

111 READ, N

 

где N — номер

оператора — может колебаться

от 2 до

25 или 50. Этот

оператор нумеруется на тот

случай,

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

Затем следует оператор DO, который в общем виде записывается как

DO X M = I, J, К

где

X — номер оператора,

завершающего цикл DO;

М — число с фиксированной

запятой,

которое при пер­

вом

прохождении цикла принимается

равным постоян­

ному числу I с фиксированной запятой. При каждом про­ хождении цикла число М увеличивается на постоянное число К с фиксированной запятой до тех пор, когда ока­ жется выполненным условие М = J, где J — постоянное число с фиксированной запятой, записанное в середине правой части оператора DO. Когда это происходит, ма­ шина переходит от цикла DO к выполнению последую­ щих команд.

Мы будем использовать оператор DO для ввода и обозначения скоростей. Общее обозначение имеет вид VEL(M), где М — индекс. Итак,

111 READ, N

DO 4 М = 1, N, 1

4 READ, VEL(M)

Теперь машина считывает с перфокарты число вводи­ мых данных и обозначает его N. Затем М приравнивает­ ся 1 , считывается с перфокарты первая скорость и обозна­ чается VEL(l). Если N > 1, то машина вновь возвра­ щается к оператору DO, но индекс М, равный 1, заменяет­ ся на 2. Следующее значение скорости обозначается VEL(2) и т. д. до М = N. Затем машина продолжает вы­ полнять команды, следующие за оператором 4. При ис­ пользовании оператора FORMAT можно записать не­ сколько значений скорости на одной перфокарте. Кроме того, оператор DO можно записать как

DO 4 М = 1 , N

т. е. без последней единицы. Если это третье число с фик­ сированной запятой не записано, то подразумевается, что оно равно 1. Заметим, что в качестве номера второго опе­ ратора READ выбрано число 4. С таким же успехом мож­ но было бы выбрать 44, 444, 5678 или любое другое чи ело, имеющее от одного до четырех знаков.

Однако машина не сможет работать, если вначале не был введен оператор DIMENSION. Этот оператор указы­ вает, какой объем памяти необходимо выделить для пере­ менных с индексами. Если предполагается, например, что будет не более 50 значений скорости, то записываем

DIMENSION VEL(ÇO)

22—168

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

11.3. Арифметические операторы

После ввода данных с различными индексами машина приступает к выполнению арифметических действий. Ма­ шинный язык ФОРТРАН допускает выполнение различ­ ных арифметических действий, включая сложение (+), вычитание (—), умножение (*), деление (/), возведение в степень Р (**Р) и определение абсолютного значения Р [ABS(P)]. Нахождение тригонометрических функций, ло­ гарифмов и других сложных функций возможно, когда компилятор имеет соответствующие подпрограммы.

Чтобы вычислить среднюю скорость, вначале необ­ ходимо накопить в машине данные о скорости, используя другой цикл DO. Для накопления этих данных исполь­ зуется наращиваемая переменная SUM (СУММА), при­ чем вначале SUM устанавливается равной нулю:

SUM = 0.

DO 6 J = 1. N

6 SUM = SUM + VEL(J)

Цикл DO начинается со значения SUM, равного нулю, и при первом прохождении цикла к нулю прибавляется VEL(l), так что SUM становится равным VEL(l). При втором прохождении цикла к VEL(l) прибавляется VEL(2) и т. д. до J = N.

Теперь можно записать выражение для среднего зна­ чения (AVE):

AVE = SUM/N

однако машина не может выполнить данную команду, так как это выражение смешанного типа, т. е. оно содер­ жит в правой части число с плавающей запятой (SUM) и число с фиксированной запятой (N). В компиляторах, составленных на языке ФОРТРАН, допускается приме­ нение переменных с фиксированной и плавающей запятой

в одном выражении только в том случае, когда они раз­ делены знаком равенства. Так, оператор

DATA = N

преобразует число N с фиксированной запятой (напри­ мер, 19) в число DATA (ДАННЫЕ) с плавающей запятой (соответственно 19,0). Теперь записываем

AVE = SUM/DATA

Итак, получено среднее значение. Продолжим вычисление среднего квадратического отклонения по формуле (2.16). Введем вторую сумму (SUM2 ) для накопления квадратов (SQDE) отклонений (DEVI) отдельных значений скорости от среднего значения (AVE). Таким образом,

SUM2 = 0.

DO 9 К = 1, N

DEVI(К) = AVE — VEL(K)

SQDE(K) = DEVI(K)** 2.

9 SUM2 = SUM2 + SQDE(К)

Разумеется, некоторые из этих выражений можно комбинировать, и добавление новых переменных с индек­ сами [DEVI(K), SQDE (К)1 требует, чтобы они следовали за оператором DIMENSION. Для вычисления дисперсии (VAR) необходимо вторую сумму (SUM2 ) разделить на N — 1, значение которого присвоить (DATA — 1):

VAR = SUM2/(DATA — 1.)

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

Для вычисления среднего квадратического отклоне­ ния (STDE) записываем

STDE = SQRT(VAR)

где SQRT — арифметический символ языка ФОРТРАН, обозначающий «извлечь квадратный корень из».

22*

11.4. Операторы перехода

Переходы внутри программы могут быть условными или безусловными. Оператором безусловного перехода в

ФОРТРАН-программе

является

GO ТО X (ПЕРЕЙТИ

К X), где X — номер

оператора

программы.

Возможны два оператора условного перехода. Опера­ тор условного перехода IF (ЕСЛИ) в общем случае имеет следующий вид:

IF (А — В) X, Y, Z

где А и В — два числа с плавающими запятыми. Если их разность отрицательна, то осуществляется переход к оператору X. Если их разность точно равна нулю, то осуществляется переход к оператору Y, а если их раз­ ность положительна, то переходят к оператору Z.

Вычисляемый оператор GO ТО имеет вид

GO ТО (P, Q, R, S , . . . , Z), J

где P, Q, R и т. д. — номера операторов. Если число с фиксированной запятой J равно 1, то осуществляется переход к оператору Р; при J = 2 переходят к операто­ ру Q, при J = 3 — к оператору R и т. д. Число возмож­ ных переходов при использовании вычисляемого опера­ тора GO ТО ограничено лишь числом знаков, которые могутТуместиться на перфокарте в одной строке.

ГЕще один оператор перехода возможен в ЭВМ IBM 1620:

IF (SENSE SWITCH N) Y, Z

где N принимает значения 1, 2, 3 или 4, что соответствует четырем пронумерованным переключателям на панели ЭВМ1. Если соответствующий переключатель включен, то осуществляется переход к оператору Y, а если переклю­ чатель выключен, то переходят к оператору Z.

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

1 SENSE SWITCH — ПРОВЕРКА ПЕРЕКЛЮЧАТЕЛЯ.—

Прим. neрев.