Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Встроенные математические функции




 

Для вычисления часто встречающихся математических функций в языке Фортран предусмотрены специальные «зашитые» алгоритмы. Такие функции называют встроенными. Имена многих встроенных функций являются родовыми. Например, родовым является имя функции ABS, предназначенной для вычисления абсолютной величины аргумента. На практике это означает, что тип результата такой функции зависит от типа обязательного аргумента. Такая функция может принимать в качестве аргумента, например, значения целого и вещественного типов. В этом случае тип и значение параметра разновидности типа результата функции ABS такие же, как у исходного аргумента. Ряд встроенных функций имеют специфические имена, и их вызов может быть выполнен как по родовому, так и по специфическому имени. Специфические имена применяют, в частности, тогда, когда необходимо сделать очевидным для программиста используемый в расчетах тип данных.

В графе «Тип функции» приводимой ниже таблицы 1.6.1 указан тип, который функция имеет, когда она используется в качестве фактического параметра процедуры (см. далее). Эта информация существенна, когда специфическое и родовое имена функции совпадают. Если родовое имя используется в выражении, то тип функции определяется типом ее аргументов [6].

Таблица 1.6.1. Встроенные математические функции.

Описание функции Форма вызова с родовым именем Специфи-ческое имя Тип аргумента Тип функции
         
max(x-y,0) DIM(x,y) IDIM DIM DDIM INTEGER REAL REAL(8) INTEGER(4) REAL(4) REAL(8)
Абсолютное значение a, умноженное на знак b SIGN(a,b) ISIGN SIGN DSIGN INTEGER REAL REAL(8)   INTEGER(4) REAL(4) REAL(8)  
x*y DPROD(x,y) DPROD REAL REAL(8)
Усечение AINT(a) AINT DINT REAL REAL(8) REAL(4) REAL(8)
Ближайшее целое ANINT(a) ANINT DNINT REAL REAL(8) REAL(4) REAL(8)
Ближайшее число типа INTEGER NINT(a) NINT IDNINT REAL REAL(8) INTEGER(4) INTEGER(4)
Абсолютная величина ABS(a) IABS ABS DABS CABS CDABS INTEGER REAL(4) REAL(8) COMPLEX(4) COMPLEX(8) INTEGER(4) REAL(4) REAL(8) REAL(4) REAL(8)
Остаток по модулю p MOD(a,p) MOD AMOD DMOD INTEGER REAL(4) REAL(8) INTEGER(4) REAL(4) REAL(8)
Мнимая часть AIMAG(z) AIMAG IMAG DIMAG COMPLEX COMPLEX(4) COMPLEX(8) REAL(4) REAL(4) REAL(8)
Комплексное сопряжение CONJG(z) CONJG DCONJG COMPLEX(4) COMPLEX(8) COMPLEX(4) COMPLEX(8)
Квадратный корень SQRT(x) SQRT DSQRT CSQRT CDSQRT REAL REAL(8) COMPLEX(4) COMPLEX(8) REAL(4) REAL(8) COMPLEX(4) COMPLEX(8)
Экспонента EXP(x) EXP DEXP CEXP CDEXP   REAL REAL(8) COMPLEX(4) COMPLEX(8) REAL(4) REAL(8) COMPLEX(4) COMPLEX(8)
         
Натуральный логарифм LOG(x) ALOG DLOG CLOG CDLOG REAL REAL(8) COMPLEX(4) COMPLEX(8) REAL(4) REAL(8) COMPLEX(4) COMPLEX(8)
Десятичный логарифм LOG10(x) ALOG10(x) DLOG10(x) REAL REAL(8) REAL(4) REAL(8)
Синус SIN(x) SIN DSIN CSIN REAL REAL(8) COMPLEX(4) REAL(4) REAL(8) COMPLEX(4)
Синус (аргумент в градусах) SIND(x) SIND DSIND REAL COMPLEX REAL(8) REAL(4) REAL(4) REAL(8)
Косинус COS(x) COS DCOS CCOS CDCOS REAL REAL(8) COMPLEX(4) COMPLEX(8) REAL(4) REAL(8) COMPLEX(4) COMPLEX(8)
Косинус (аргумент в градусах) COSD(x) COSD DCOSD REAL COMPLEX REAL(8) REAL(4) REAL(4) REAL(8)
Тангенс TAN(x) TAN DTAN REAL REAL(8) REAL(4) REAL(8)
Тангенс (аргумент в градусах) TAND(x) TAND DTAND REAL REAL(8) REAL(4) REAL(8)
Котангенс COTAN(x) COTAN DCOTAN REAL REAL(8) REAL(4) REAL(8)
Арксинус ASIN(x) ASIN DASIN REAL REAL(8) REAL(4) REAL(8)
Арксинус (аргумент в градусах) ASIND(x) ASIND DASIND REAL REAL(8) REAL(4) REAL(8)
Арккосинус ACOS(x) ACOS DACOS REAL REAL(8) REAL(4) REAL(8)
Арккосинус (аргумент в градусах) ACOSD(x) ACOSD DACOSD REAL REAL(8) REAL(4) REAL(8)
Арктангенс ATAN(x) ATAN DATAN REAL REAL(8) REAL(4) REAL(8)
Арктангенс (аргумент в градусах) ATAND(x) ATAND DATAND REAL REAL(8) REAL(4) REAL(8)
Арктангенс (y/x) ATAN2(y,x) ATAN2 DATAN2 REAL REAL(8) REAL(4) REAL(8)
Арктангенс (y/x) (результат в градусах) ATAN2D(y,x) ATAN2D DATAN2D REAL REAL(8) REAL(4) REAL(8)
         
Гиперболический синус SINH(x) SINH DSINH REAL REAL(8) REAL(4) REAL(8)
Гиперболический косинус COSH(x) COSH DCOSH REAL REAL(8) REAL(4) REAL(8)
Гиперболический тангенс TANH(x) TANH DTANH REAL REAL(8) REAL(4) REAL(8)

В соответствии с информацией таблицы 1.6.1 из выражений sin(2.) и sin(2) неверным является второе (где в качестве аргумента функции sin задана целая константа).

При вычислении стандартных функций должны соблюдаться некоторые разумные ограничения. Так, например, аргумент функции sqrt должен быть больше или равен 0, аргумент функций alog, alog10должен быть больше 0, аргумент функции expдолжен быть таким, чтобы соответствующие результаты не выходили за пределы представимых в памяти ЭВМ чисел и т.д.

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

Определим, например, порядок действий при вычислении выражения

sin(x**2)**2 + sin(x)**2 + si/nx + sinx**2.

Вначале вычисляется выражение в скобках: x **2, далее – два значения синуса: sin(x**2) и sin(x); затем производится возведение в степень: sin(x)**2 и sinx**2 (заметим, что sinx – просто имя другой переменной, не имеющей отношения к функции sin); после этого – деление si/nx и три сложения.




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 1375; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.