Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
современный фортран , Бортеньев.pdf
Скачиваний:
242
Добавлен:
26.03.2015
Размер:
2.34 Mб
Скачать

6. Встроенные процедуры

MAX(a1, a2, [, a3, ...]) - возвращает максимум из двух или более целых или вещественных значений. Тип и разновидность типа результата совпадают с типом параметров.

MAX1(a1, a2, [, a3, ...]) - возвращает максимум из двух или более значений стандартного вещественного типа. Результат имеет стандартный целый тип.

AMIN0(a1, a2, [, a3, ...]) - возвращает минимум из двух или более значений стандартного целого типа. Результат имеет стандартный вещественный тип.

MIN(a1, a2, [, a3, ...]) - возвращает минимум из двух или более целых или вещественных значений. Тип и разновидность типа результата совпадают с типом параметров.

MIN1(a1, a2, [, a3, ...]) - возвращает минимум из двух или более значений стандартного вещественного типа. Результат имеет стандартный целый тип.

Во всех случаях параметры функций - скалярные выражения.

Пример:

write(*, *) max1(5.2, 3.6, 9.7)

!

9

write(*, *) amin0(5, -3, 9)

!

-3.0

6.8. Математические элементные функции

Фортран содержит математические функции вычисления корня, логарифмов, экспоненты и тригонометрических функций. Тип и параметр разновидности типа результата такие же, как у первого аргумента. В разделе приведены формы вызова функций с родовыми именами. Специфические имена функций даны в разд. 8.18.2.

Когда параметрами логарифмических и тригонометрических функций являются комплексные числа, то функции возвращают комплексное число, аргумент ϑ которого равен главному значению аргумента комплексного числа в радианах (-π < ϑ ≤ π).

6.8.1. Экспоненциальная, логарифмическая функции и квадратный корень

EXP(x) - возвращает ex = e**x для вещественного или комплексного x. В случае комплексного x = (a, b) результат равен e**a*(cos(b) + i sin(b)).

LOG(x) - возвращает значение натурального логарифма для вещественного или комплексного x. В случае вещественного аргумента значение x должно быть больше нуля. В случае комплексного аргумента x не должен быть нулем. Если х комплексного типа, то действительный компонент результата равен натуральному логарифму модуля x, мнимый компонент - главному значению аргумента x в радианах, т. е. если x = (a, b),

то LOG(x) = = (LOG(SQRT(a**2 + b**2)), ATAN2(a, b)).

LOG10(x) - возвращает десятичный логарифм вещественного аргумента. Значение х должно быть больше нуля.

179

О. В. Бартеньев. Современный ФОРТРАН

SQRT(x) - возвращает квадратный корень для вещественного или комплексного аргумента x. В случае вещественного аргумента значение x должно быть больше нуля. В случае комплексного х функция возвращает число, модуль которого равен корню квадратному из модуля x и угол которого равен половине угла x. Так, если x = (a, b), то SQRT(x) =

SQRT(a**2 + b**2) *

* e-j * 0.5 * atan(a / b).

Извлечь корень можно также, применив операцию возведения в степень: SQRT(x) = x**0.5. Однако применять следует функцию SQRT, поскольку SQRT(x) выполняется быстрее, чем x**0.5.

6.8.2. Тригонометрические функции

В Фортране существуют как тригонометрические функции, в которых аргумент должен быть задан в радианах, например SIN(x), так и функции, аргумент которых задается в градусах, например SIND(x).

Синус и арксинус

SIN(x) - возвращает синус вещественного или комплексного аргумента x, который интерпретируется как значение в радианах.

SIND(x) - возвращает синус вещественного или комплексного аргумента x, который интерпретируется как значение в градусах.

ASIN(x) - возвращает арксинус вещественного аргумента x (| x | 1), выраженный в радианах в интервале -π/2 ASIN(x) ≤ π/2.

ASIND(x) - возвращает арксинус вещественного аргумента x (| x | 1), выраженный в градусах в интервале -90 ASIN(x) 90.

Косинус и арккосинус

COS(x) - возвращает косинус вещественного или комплексного аргумента x, который интерпретируется как значение в радианах.

COSD(x) - возвращает косинус вещественного или комплексного аргумента x, который интерпретируется как значение в градусах.

ACOS(x) - возвращает арккосинус вещественного аргумента x (| x | 1), выраженный в радианах в интервале 0 ACOS(x) ≤ π.

ACOSD(x) - возвращает арккосинус вещественного аргумента x (| x | 1), выраженный в градусах в интервале 0 ACOS(x) 180.

Тангенс, котангенс и арктангенс

TAN(x) - возвращает тангенс вещественного аргумента x, который интерпретируется как значение в радианах.

TAND(x) - возвращает тангенс вещественного аргумента x, который интерпретируется как значение в градусах.

COTAN(x) - возвращает котангенс вещественного аргумента x (x 0), который интерпретируется как значение в радианах.

180