Что такое sh x в visual studio
Большинство функций содержатся в библиотеках, но некоторые функции, встроенные (то есть внутренние) в компилятор. Они называются встроенными или внутренними функциями .
Комментарии
Если функция встроенная, код для этой обычно функции уже вставлен внутрь, что позволяет избежать вызова функции и позволяет максимально эффективно подготовить машинные инструкций для этой функции. Встроенная функция часто быстрее, чем эквивалентный встроенный ассемблер, потому что оптимизатор имеет собственные сведения о том, как ведут себя встроенные функции, поэтому могут быть доступны некоторые оптимизации, которые недоступны при использовании встроенный ассемблер. Кроме того, оптимизатор можно развернуть встроенную функцию по-разному, по-разному выровнять буферы или внести другие подстройки в зависимости от контекста и аргументов вызова.
Использование встроенных функций влияет на переносимость кода, поскольку встроенные функции, которые доступны в Visual C++, могут быть недоступны, если код компилируется с помощью других компиляторов, и некоторые встроенные функции, которые могут быть доступны для некоторых целевых архитектур, не доступны для всех архитектур. Однако встроенные функции обычно более переносимы по сравнению с встроенным ассемблером. Встроенные функции требуются для 64-разрядных архитектур, где встроенный ассемблер не поддерживается.
Некоторые встроенные функции, такие как __assume и __ReadWriteBarrier , передают компилятору информацию, которая влияет на поведение оптимизатора.
Некоторые стандартные функции библиотеки C/C++, доступные как встроенные реализации для некоторых архитектур. При вызове функции CRT используется встроенная реализация, если в командной строке указан /Oi .
Доступен заголовочный файл < Intrin. h >, который объявляет прототипы для общих встроенных функций. Встроенные функции производителя доступны в < файлах заголовков использованием immintrin. h >и < амминтрин. h >. Кроме того некоторые заголовки Windows объявляют функции, которые ссылаются на встроенные функции компилятора.
В следующих разделах перечислены все встроенные функции, доступные для различных архитектур. Дополнительные сведения об использовании встроенных функций для конкретного целевого процессора можно найти в документации производителя.
3 ответа
sh вызывает программу sh как интерпретатор и флаг -c означает выполнение следующей команды, интерпретируемой этой программой.
В Ubuntu sh обычно символически привязан к /bin/dash , что означает, что если вы выполняете команду с помощью sh -c , то для выполнения команды вместо bash будет использоваться служебная оболочка. Оболочка с кодом sh зависит от символической ссылки — вы можете узнать с помощью readlink -e $(which sh) . Вы должны использовать sh -c , когда вы хотите выполнить команду специально с этой оболочкой вместо bash.
Вы можете использовать этот синтаксис (флаг -c ) с другими интерпретаторами. Одно из его классических применений (указано @edwinksl — обойти проблему перенаправления, не работающую с sudo (здесь вы можете использовать bash -c или sh -c )
напишет файл bar , содержащий текст foo до /home/ , а sudo echo "foo" > /home/bar не удалось как здесь объяснено очень хорошо
Важно использовать «одинарные кавычки» вокруг командной строки, иначе текущая оболочка попытается развернуть ее до того, как она будет передана интерпретатору, который вы назвали
например (с помощью python, пока не подумаю о команде, которая даст разные результаты в тире . )
Прочитайте команды из операнда command_string, а не из стандартный ввод. Специальный параметр 0 будет установлен из имени command_name операнд и позиционные параметры ($ 1, $ 2 и т. д.), установленные из оставшиеся операнды аргументов.
Другие сведения о возможностях sh можно найти, выполнив:
Пример использования строки в качестве аргумента:
Это более подробный пример sh -c . Он загрузит документ с Google Диска и откроет его для редактирования на рабочем столе:
sh -c порождает не-login , неинтерактивный сеанс sh ( dash в Ubuntu).
После этого команда будет запущена в этом сеансе оболочки, она будет рассматриваться как аргумент (позиционный параметр) 0 ( ARGV0 ) , а оставшаяся часть — в качестве аргумента этой команды ( ARGV0 ), начиная с 1 ( ARGV1 , ARGV2 , . ).
Вы также можете использовать обычные функции оболочки, разрешенные для запуска в этом сеансе, например. разделение команд с помощью ; для использования нескольких команд, группировка команд с помощью <> , создайте еще одну подоболочку с помощью () и т. д. Их использование может слегка изменить приведенные ранее аргументы /примеры.
Просто отметим, что функции, характерные только для интерактивных оболочек (по умолчанию), например. расширение истории, source -ing
/.bashrc и /etc/bash.bashrc и т. д. не будут доступны в этом сеансе, так как это неинтерактивный . Вы можете имитировать поведение интерактивных сеансов (почти), используя опцию -i :
Аналогично, функции, характерные только для login оболочек (по умолчанию), например. source -ing
/.profile (данный —- +: = 17 =: + —- и
/.bash_profile не существует) и —- +: = 19 =: + —- не будет выполняться, так как оболочка является оболочкой non-login . Вы можете моделировать поведение логина-оболочки с помощью опции
Гиперболические функции — sh, ch, th, cth, sech, csch
y = sh x
y = ch x
y = th x
y = cth x
y = sech x
y = csch x
ОБРАТНЫЕ ГИПЕРБОЛИЧЕСКИЕ ФУНКЦИИ
Если x = sh y, тогда y = sh -1 a называется обратным гиперболическим синусом of x. Аналогично определяются и другие обратные гиперболические функции. Обратные гиперболические функции являются многозначными, но в случае обратных тригонометрических функций мы ограничимся основными значениями, при которых их можно рассматривать как однозначные.
Ниже приведен список основных значений [если не указано иное] обратных гиперболических функций, выраженных через логарифмические функции, которые принимаются в качестве вещественных.
ОТНОШЕНИЯ МЕЖДУ ОБРАТНЫМИ ГИПЕРБОЛИЧЕСКИМИ ФУНКЦИЯМИ
csch -1 x = sh -1 (1/x)
sech -1 x = ch -1 (1/x)
cth -1 x = th -1 (1/x)
cth -1 (-x) = -cth -1 x
csch -1 (-x) = -csch -1 x
ГРАФИКИ ОБРАТНЫХ ГИПЕРБОЛИЧЕСКИХ ФУНКЦИЙ
y = sh -1 x
y = ch -1 x
y = th -1 x
y = cth -1 x
y = sech -1 x
y = csch -1 x
Следующие операторы выполняют арифметические операции с операндами числовых типов:
- унарные — ++ (приращение), — (уменьшение), + (плюс) и — (минус);
- бинарные — * (умножение), / (деление), % (остаток от деления), + (сложение) и — (вычитание).
Эти операторы поддерживаются всеми целочисленными типами и типами с плавающей запятой.
Оператор инкремента ++
Оператор инкремента ++ увеличивает операнд на 1. Операндом должна быть переменная, свойство или индексатор.
Оператор инкремента поддерживается в двух формах: постфиксный оператор инкремента ( x++ ) и префиксный оператор инкремента ( ++x ).
Постфиксный оператор приращения
Результатом x++ является значение x перед выполнением операции, как показано в следующем примере:
Префиксный оператор инкремента
Результатом ++x является значение x после выполнения операции, как показано в следующем примере:
Оператор декремента —
Унарный оператор декремента — уменьшает операнд на 1. Операндом должна быть переменная, свойство или индексатор.
Оператор декремента поддерживается в двух формах: постфиксный оператор декремента ( x— ) и префиксный оператор декремента ( —x ).
Постфиксный оператор уменьшения
Результатом x— является значение x перед выполнением операции, как показано в следующем примере:
Префиксный оператор декремента
Результатом —x является значение x после выполнения операции, как показано в следующем примере:
Операторы унарного плюса и минуса
Унарный оператор + возвращает значение полученного операнда. Унарный оператор — изменяет знак операнда на противоположный.
Тип ulong не поддерживает унарный оператор — .
Оператор умножения *
Оператор умножения * вычисляет произведение операндов:
Оператор деления /
Оператор деления / делит левый операнд на правый.
Деление целых чисел
Для операндов цельночисленных типов результат оператора / является целочисленным типом, который равен частному двух операндов, округленному в сторону нуля:
Чтобы получить частное двух операндов в виде числа с плавающей запятой, используйте тип float , double или decimal :
Деление чисел с плавающей запятой
Для типов float , double и decimal результатом оператора / является частное двух операндов:
Если один из операндов — это decimal , второй операнд не может быть ни float , ни double , так как ни float , ни double не преобразуется неявно в тип decimal . Необходимо явным образом преобразовать операнд float или double в тип decimal . Дополнительные сведения о числовых преобразованиях см. в разделе Встроенные числовые преобразования.
Оператор остатка %
Оператор остатка % вычисляет остаток от деления левого операнда на правый.
Целочисленный остаток
Для целочисленных операндов результатом a % b является значение, произведенное a — (a / b) * b . Знак ненулевого остатка такой же, как и у левого операнда, как показано в следующем примере:
Используйте метод Math.DivRem для вычисления результатов как целочисленного деления, так и определения остатка.
Остаток с плавающей запятой
Для операндов типа float и double результатом x % y для конечных x и y будет значение z , так что:
- знак z , если отлично от нуля, совпадает со знаком x ;
- абсолютное значение z является значением, произведенным |x| — n * |y| , где n — это наибольшее возможное целое число, которое меньше или равно |x| / |y| , а |x| и |y| являются абсолютными значениями x и y , соответственно.
Этот метод вычисления остатка аналогичен тому, который использовался для целочисленных операндов, но отличается от спецификации IEEE 754. Если вам нужна операция вычисления остатка, которая соответствует спецификации IEEE 754, используйте метод Math.IEEERemainder.
Для операндов decimal оператор остатка % эквивалентен оператору остатка типа System.Decimal.
В следующем примере показано поведение оператора остатка для операндов с плавающей запятой:
Оператор сложения +
Оператор сложения + вычисляет сумму своих операндов:
Кроме того, оператор + можно использовать для объединения строк и делегатов. Дополнительные сведения см. в статье Операторы + и += .
Оператор вычитания —
Оператор вычитания — вычитает правый операнд из левого:
Кроме того, оператор — можно использовать для удаления делегатов. Дополнительные сведения см. в статье Операторы — и -= .
Составное присваивание
Для бинарного оператора op выражение составного присваивания в форме
за исключением того, что x вычисляется только один раз.
Следующий пример иллюстрирует использование составного присваивания с арифметическими операторами:
Из-за восходящих приведений результат операции op может быть невозможно неявно преобразовать в тип T из x . В этом случае, если op является предопределенным оператором, и результат операции является явно преобразуемым в тип T«x , выражение составного присваивания формы x op= y эквивалентно x = (T)(x op y) , за исключением того, что x вычисляется только один раз. В следующем примере продемонстрировано такое поведение.
Приоритет и ассоциативность операторов
В следующем списке перечислены арифметические операторы в порядке убывания приоритета:
- Постфиксный инкремент x++ и декремент x—
- Префиксный инкремент ++x и декремент —x , унарные операторы + и —
- Мультипликативные операторы * , / , и %
- Аддитивные операторы + и —
Бинарные арифметические операторы имеют левую ассоциативность. То есть операторы с одинаковым приоритетом вычисляются в направлении слева направо.
Порядок вычисления, определяемый приоритетом и ассоциативностью операторов, можно изменить с помощью скобок ( () ).
Арифметическое переполнение и деление на нуль
Если результат арифметической операции выходит за пределы диапазона возможных конечных значений соответствующего числового типа, поведение арифметического оператора зависит от типа его операндов.
Целочисленное арифметическое переполнение
Деление целого числа на ноль всегда вызывает исключение DivideByZeroException.
В случае целочисленного арифметического переполнения итоговое поведение определяется контекстом проверки переполнения, который может быть проверяемым или непроверяемым:
- Если в проверяемом контексте переполнение возникает в константном выражении, происходит ошибка времени компиляции. В противном случае, если операция производится во время выполнения, возникает исключение OverflowException.
- В непроверяемом контексте результат усекается путем удаления старших разрядов, которые не помещаются в целевой тип данных.
Вместе с проверяемыми и непроверяемыми операторами вы можете использовать операторы checked и unchecked , чтобы управлять контекстом проверки переполнения, в котором вычисляется выражение:
По умолчанию арифметические операции выполняются в непроверяемом контексте.
Арифметическое переполнение с плавающей запятой
Арифметические операции с типами float и double никогда не вызывают исключение. Результатом арифметических операций с этими типами может быть одно из специальных значений, представляющих бесконечность и объект, не являющийся числовым:
Для операндов типа decimal арифметическое переполнение всегда вызывает исключение OverflowException, а деление на нуль всегда вызывает исключение DivideByZeroException.
Ошибки округления
Из-за общих ограничений, касающихся представления вещественных чисел в форме с плавающей запятой и арифметических операций с плавающей запятой, при вычислениях с использованием типов с плавающей запятой могут возникать ошибки округления. То есть полученный результат выражения может отличаться от ожидаемого математического результата. В следующем примере показано несколько таких случаев:
См. заметки в справочной документации по System.Double, System.Single и System.Decimal.
Возможность перегрузки оператора
Определяемый пользователем тип может перегружать унарные ( ++ , — , + и — ) и бинарные ( * , / , % , + и — ) арифметические операторы. При перегрузке бинарного оператора соответствующий оператор составного присваивания также неявно перегружается. Определяемый пользователем тип не может перегружать оператор составного присваивания явным образом.
В состав отладчика Visual Studio входят вычислители выражений, которые работают при вводе выражения в диалоговое окно Быстрая проверка , окно Контрольные значения или окно Интерпретация . Вычислители выражений также работают в окне точки останова и многих других местах в отладчике.
В следующих разделах описываются ограничения на вычисление выражений для языков, поддерживаемых Visual Studio.
Выражения C++
Информацию об использовании операторов контекста с выражениями в C++ см. в разделе Context Operator (C++).
Неподдерживаемые выражения в C++
Конструкторы, деструкторы и преобразования
Функция преобразования не может быть вызвана, если результатом преобразования является класс. Такое преобразование включает создание объекта. Например, если myFraction — экземпляр класса CFraction , в котором определен оператор функции преобразования FixedPoint , то следующее выражение вызовет ошибку:
Вы не можете вызывать операторы new и delete. Например, следующее выражение не поддерживается:
Макросы препроцессора
Объявления пространства имен using
Объявления using namespace использовать нельзя. Чтобы обратиться к имени типа или переменной вне текущего пространства имен, необходимо использовать полное имя.
Анонимные пространства имен
Анонимные пространства имен не поддерживаются. Если имеется следующий код, нельзя добавить test в окно контрольных значений:
Использование встроенных функций отладчика для сохранения состояния
С помощью встроенных функций отладчика можно вызывать некоторые функции C/C++ в выражениях, не изменяя при этом состояние приложения.
Встроенные функции отладчика:
Гарантированно безопасны: выполнение встроенной функции отладчика не приведет к повреждению отлаживаемого процесса.
Могут использоваться в любых выражениях, в том числе в сценариях, не допускающих побочные эффекты и вычисление функций.
Работают в сценариях, в которых обычные вызовы функций невозможны, как, например, при отладке минидампа.
Кроме того, встроенные функции отладчика могут сделать вычисление выражений более удобным. Например, в качестве условия останова намного удобнее использовать выражение вида strncmp(str, "asd") , чем выражение str[0] == 'a' && str[1] == 's' && str[2] == 'd' . )
__findNonNull — ищет массив указателей, возвращая индекс первого ненулевого элемента.
– Параметры: (1) Указатель на первый элемент в массиве (void *), (2) Размер массива (целое число без знака).
— Возвращаемые значения: (1) отсчитываемый от 0 индекс первого ненулевого элемента в массиве или –1, если не найден.
DecodeHString — вспомогательная функция для форматирования значения HSTRING. Извлекает значение HSTRING из стека, выталкивает байты структуры StringInfo, которую EE может использовать с целью определения местонахождения строки. Используется только внутри EE; функция прямого вызова недоступна пользователю.
DynamicCast — реализует dynamic_cast.
– Параметры: (1) указатель на объект для приведения.
– Элементы данных: объект CDynamicCastData должен быть связан как элемент данных с соответствующей инструкцией ExecuteIntrinsic(). Элемент данных кодирует тип, из которого мы выполняем приведение, а также оцениваем ли мы выражение natvis (необходимо для диагностики, чтобы прервать бесконечную рекурсию).
– Возвращаемое значение: (1) указатель на объект, приведенный к правильному типу, или NULL, если приводимый объект не является экземпляром правильного типа.
DynamicMemberLookup — вспомогательная функция для динамического получения значения члена класса.
GetEnvBlockLength — вспомогательная функция для получения длины блока среды в символах. Используется для $env.
Stdext_HashMap_Int_OperatorBracket_idx — operator[] для stdext::hash_map. Предполагает хэш-функцию по умолчанию с ключом int. Возвращает значение. Внутренний operator[] поддерживает только получение существующих элементов из хэш-таблицы — он не поддерживает вставку новых элементов в таблицу, так как это может вызвать нежелательную сложность, такую как выделение памяти. Тем не менее, operator[] может использоваться для изменения значения, связанного с ключом, уже находящимся в таблице.
– Параметры стека: (1) адрес объекта stdext::hash_map, (2) ключ в таблице (int), (3) структура HashMapPdb, которая определяет смещения полей элементов, которые необходимо выполнить в рамках реализации функции для уточняющего запроса. Это необходимо, поскольку прямой доступ к символам недоступен на удаленной стороне.
– Возвращаемые значения: (1) если ключ находится в таблице, адрес значения, которое соответствует ключу. В противном случае — значение NULL.
Std_UnorderedMap_Int_OperatorBracket_idx — std::unordered_map работает так же, как stdext::hash_map, за исключением того, что хэш-функция отличается.
ConcurrencyArray_OperatorBracket_idx // Concurrency::array<>::operator[index<>] и operator(index<>)
ConcurrencyArray_OperatorBracket_int // Concurrency::array<>::operator(int, int, . )
ConcurrencyArray_OperatorBracket_tidx // Concurrency::array<>::operator[tiled_index<>] и operator(tiled_index<>)
ConcurrencyArrayView_OperatorBracket_idx // Concurrency::array_view<>::operator[index<>] и operator(index<>)
ConcurrencyArrayView_OperatorBracket_int // Concurrency::array_view<>::operator(int, int, . )
ConcurrencyArrayView_OperatorBracket_tidx // Concurrency::array_view<>::operator[tiled_index<>] и operator(tiled_index<>)
TreeTraverse_Init - инициализирует новый обход дерева.
– Параметры стека: (1) адрес корневого узла, (2) подсказка для максимальной глубины использования. Элементы, расположенные на более глубоком уровне, перемещаются в очередь для последующей обработки.
– Параметры подпрограммы: (1) валидность узла (необязательно).
– Возвращаемые значения: (1) непрозрачная последовательность байтов, кодирующих состояние обхода дерева.
TreeTraverse_Next — извлекает узлы из ожидающего обхода дерева.
– Параметры стека: (1) непрозрачный байтовый массив, представляющий состояние обхода дерева, (2) количество узлов для выборки.
– Параметры подпрограммы (должны соответствовать вызову TreeTraverse_Init()): (1) левый дочерний элемент, (2) правый дочерний элемент, (3) валидность узла (необязательно).
– Возвращаемые значения: (1) количество извлеченных узлов (примечание: помещается после самих узлов, поэтому его можно извлечь первым). Если было извлечено меньшее количество узлов, чем запрошено, это свидетельствует об окончании дерева. (2) Для каждого извлеченного узла — адрес узла. (3) Непрозрачная последовательность байтов, кодирующих новое состояние обхода дерева.
Неподдерживаемые выражения C++/CLI
Приведения с использованием указателей и определенные пользователем приведения не поддерживаются.
Сравнение и назначение объектов не поддерживается.
Перегруженные операторы и перегруженные функции не поддерживаются.
Упаковка-преобразование и распаковка-преобразование не поддерживаются.
Оператор Sizeof не поддерживается.
Динамические объекты
В выражениях отладчика можно использовать статически типизированные переменные как динамические. При вычислении в окне контрольных значений объектов, реализующих интерфейс IDynamicMetaObjectProvider, добавляется узел динамического представления. Узел динамического представления отображает члены объектов, но не позволяет изменять значения этих членов.
Следующие возможности динамических объектов не поддерживаются:
составные операторы += , -= , %= , /= и *= ;
многие приведения, включая приведения числовых типов и приведения аргументов типа;
вызовы методов с более чем двумя аргументами;
методы получения свойств с более чем двумя аргументами;
методы задания свойств с аргументами;
логические операторы && и || .
Анонимные методы
Создание анонимных методов не поддерживается.
Неподдерживаемые выражения Visual Basic
Динамические объекты
В выражениях отладчика можно использовать статически типизированные переменные как динамические. При вычислении в окне "Контрольные значения" объектов, реализующих интерфейс IDynamicMetaObjectProvider, добавляется узел динамического представления. Узел динамического представления отображает члены объектов, но не позволяет изменять значения этих членов.
Следующие возможности динамических объектов не поддерживаются:
составные операторы += , -= , %= , /= и *= ;
многие приведения, включая приведения числовых типов и приведения аргументов типа;
вызовы методов с более чем двумя аргументами;
методы получения свойств с более чем двумя аргументами;
методы задания свойств с аргументами;
логические операторы && и || .
Локальные константы
Локальные константы не поддерживаются.
Импорт псевдонимов
Импорт псевдонимов не поддерживается.
Объявления переменных
В окнах отладчика не поддерживается явное объявление новых переменных. Однако можно присвоить значение новой неявной переменной в окне Интерпретация . Эти неявные переменные инкапсулированы в сеансе отладки и недоступны вне отладчика. Например, оператор o = 5 неявно создает переменную o и присваивает ей значение 5. Если отладчику не удается определить тип для таких неявных переменных, они имеют тип Object .
Гиперболи́ческие фу́нкции — семейство элементарных функций, выражающихся через экспоненту и тесно связанных с тригонометрическими функциями.
Содержание
Определение
Гиперболические функции задаются следующими формулами:
Иногда также определяются
Геометрическое определение
Ввиду соотношения ^2t-\operatorname^2t=1" width="" height="" />
гиперболические функции дают параметрическое представление гиперболы x 2 − y 2 = 1 (t" width="" height="" />
, t" width="" height="" />
). При этом аргумент t = 2S , где S — площадь криволинейного треугольника OQR , взятая со знаком «+», если сектор лежит выше оси OX , и «−» в противоположном случае. Это определение аналогично определению тригонометрических функций через единичную окружность, которое тоже можно построить подобным образом.
Свойства
Связь с тригонометрическими функциями
Гиперболические функции выражаются через тригонометрические функции от мнимого аргумента.
.
.
Важные тождества
Разложение в степенные ряды
x=x+\frac+\frac+\frac+\ldots=\sum_^\infty\frac>" width="" height="" />
x=1+\frac+\frac+\frac+\ldots=\sum_^\infty\frac>" width="" height="" />
x=x-\frac+\frac-\frac+\ldots=\sum_^\infty\frac2^(2^-1)B_x^>,\quad|x|<\frac<\pi>" width="" height="" />
x=\frac+\frac-\frac+\frac+\ldots=\frac+\sum_^\infty\frac2^B_x^>,\quad0<|x|<\pi" width="" height="" />
(Ряд Лорана)
Графики
Аналитические свойства
Гиперболический синус и гиперболический косинус аналитичны во всей комплексной плоскости, за исключением существенно особой точки на бесконечности. Гиперболический тангенс аналитичен везде, кроме полюсов в точках z = iπ(n + 1 / 2) , где n — целое. Вычеты во всех этих полюсах равны единице. Гиперболический котангенс аналитичен везде, кроме точек z = iπn , вычеты его в этих полюсах также равны единице.
Обратные гиперболические функции
Читаются ареа… (-синус и т. д.) — от лат. «area» — «площадь».
x=\ln(x+\sqrt)" width="" height="" />
— обратный гиперболический синус, гиперболический арксинус, ареасинус: (\operatornamex)=x." width="" height="" />
x=\ln \left( x+\sqrt-1> \right);x\ge 1" width="" height="" />
— обратный гиперболический косинус, гиперболический арккосинус, ареакосинус. x=\ln\left(\frac>\right)=\frac\ln\left(\frac\right)" width="" height="" />
— обратный гиперболический тангенс, гиперболический арктангенс, ареатангенс. x=\ln\left(\frac>\right)=\frac\ln\left(\frac\right)" width="" height="" />
— обратный гиперболический котангенс, гиперболический арккотангенс, ареакотангенс. x=\pm\ln\left(\frac>\right)" width="" height="" />
— обратный гиперболический секанс, гиперболический арксеканс, ареасеканс. x=\left\\ln\left(\frac>\right),\quad x<0 \\ \ln\left(\frac>\right),\quad x>0\end\right." width="" height="" />
— обратный гиперболический косеканс, гиперболический арккосеканс, ареакосеканс.
Графики
Связь между некоторыми обратными гиперболическими и обратными тригонометрическими функциями:
x=-i\arcsin(-ix)," width="" height="" />
(ix)=i\arcsin x," width="" height="" />
(ix)," width="" height="" />
(-x)," width="" height="" />
где i — мнимая единица.
Эти функции имеют следующее разложение в ряд:
x=x-\left(\frac\right)\frac+\left(\frac\right)\frac-\left(\frac\right)\frac+\ldots=\sum_^\infty\left(\frac(n!)^2>\right)\frac>,\quad x<1;" width="" height="" />
x=\ln(2x)-\left(\left(\frac\right)\frac>+\left(\frac\right)\frac>+\left(\frac\right)\frac>+\ldots\right)=\ln(2x)-\sum_^\infty\left(\frac(n!)^2>\right)\frac>,\quad x>1;" width="" height="" />
x=x+\frac+\frac+\frac+\ldots=\sum_^\infty\frac>,\quad |x|<1." width="" height="" />
В зарубежной литературе обратные гиперболические функции часто обозначают посредством знака минус первой степени: например, \,x" width="" height="" />
пишут как ^x" width="" height="" />
(причём \,x)^" width="" height="" />
обозначает другую функцию — \,x" width="" height="" />
), и т. д.
История
Гиперболические функции были введены Винченцо Риккати (Vincenzo Riccati) в 1757 году («Opusculorum», том I). Он получил их из рассмотрения единичной гиперболы.
Дальнейшее исследование свойств гиперболических функций было проведено Ламбертом.
Риккати применял для гиперболических функций обозначения " width="" height="" />
и " width="" height="" />
. В дальнейшем в обозначениях гиперболических функций утвердился некоторый разнобой. Например, в Энциклопедии Брокгауза и Эфрона используются обозначения " width="" height="" />
, " width="" height="" />
, в русскоязычной литературе закрепились обозначения , \operatorname" width="" height="" />
, в англоязычной закрепились sinh,cosh , .
Применение
Гиперболические функции часто встречаются при вычислении различных интегралов. Некоторые интегралы от рациональных функций и от функций, содержащих радикалы, довольно просто выполняются с помощью замен переменных с использованием гиперболических функций.
Аналогично тому, как матрицы вида \cos x & \sin x\\ -\sin x & \cos x\end" width="" height="" />
описывают повороты двумерного евклидова пространства, матрицы \mathop<\mathrm
описывают повороты в простейшем двумерном пространстве Минковского. В связи с этим гиперболические функции часто встречаются в теории относительности.
(в связи с чем график гиперболического косинуса иногда называют цепной линией). Это обстоятельство используется при проектировании арок, поскольку форма арки в виде перевёрнутой цепной линии наиболее удачно распределяет нагрузку.
Жаргонные названия
В связи с особенностями написания операторов гиперболических функций в русском языке появился ряд жаргонных наименований этих функций. Простейшее (и наиболее распространённое) словообразование использует уточняющую приставку «гипер-» к названиям тригонометрических функций. Также существуют такие жаргонные названия: [1]
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет константы и статические методы для тригонометрических, логарифмических и иных общих математических функций.
Примеры
В следующем примере используется несколько математических и тригонометрических функций из Math класса для вычисления внутренних углов трапециоида.
Представляет основание натурального логарифма, определяемое константой e .
Представляет отношение длины окружности к ее диаметру, определяемое константой π.
Представляет число радианов в полном обороте, заданное константой τ.
Методы
Возвращает абсолютное значение числа Decimal.
Возвращает абсолютное значение числа двойной точности с плавающей запятой.
Возвращает абсолютное значение 16-битового целого числа со знаком.
Возвращает абсолютное значение 32-битового целого числа со знаком.
Возвращает абсолютное значение 64-битового целого числа со знаком.
Возвращает абсолютное значение собственного целого числа со знаком.
Возвращает абсолютное значение числа одинарной точности с плавающей запятой.
Возвращает угол, косинус которого равен указанному числу.
Возвращает угол, гиперболический косинус которого равен указанному числу.
Возвращает угол, синус которого равен указанному числу.
Возвращает угол, гиперболический синус которого равен указанному числу.
Возвращает угол, тангенс которого равен указанному числу.
Возвращает угол, тангенс которого равен отношению двух указанных чисел.
Возвращает угол, гиперболический тангенс которого равен указанному числу.
Умножает два 32-битовых числа.
Формирует полное произведение двух 64-битовых чисел.
Формирует полное произведение двух 64-битовых чисел без знака.
Возвращает ближайшее самое маленькое значение, которое меньше, чем x .
Возвращает ближайшее самое большое значение, превышающее x .
Возвращает кубический корень из указанного числа.
Возвращает наименьшее целое число, которое больше или равно заданному десятичному числу.
Возвращает наименьшее целое число, которое больше или равно заданному числу с плавающей запятой двойной точности.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает значение с величиной x и знаком y .
Возвращает косинус указанного угла.
Возвращает гиперболический косинус указанного угла.
Создает цитиент и оставшуюся часть двух 16-разрядных чисел со знаком.
Создает цитент и оставшуюся часть двух 32-разрядных чисел со знаком.
Вычисляет частное двух 32-разрядных знаковых целых чисел и возвращает остаток в выходном параметре.
Создает цитиент и оставшуюся часть двух 64-разрядных чисел со знаком.
Вычисляет частное двух 64-битовых целых чисел со знаком и возвращает остаток в выходном параметре.
Создает частное и оставшееся число двух подписанных собственных чисел.
Создает цитент и оставшуюся часть двух 16-разрядных чисел без знака.
Создает цитент и оставшуюся часть двух неподписанных 32-разрядных чисел.
Создает цитент и оставшуюся часть двух 64-разрядных чисел без знака.
Создает частное и оставшееся число двух неподписанных собственных чисел.
Возвращает e , возведенное в указанную степень.
Возвращает наибольшее целое число, которое меньше или равно указанному десятичному числу.
Возвращает наибольшее целое число, которое меньше или равно заданному числу с плавающей запятой двойной точности.
Возвращает значение (x * y) + z, округленное в рамках одной тернарной операции.
Возвращает остаток от деления одного указанного числа на другое указанное число.
Возвращает целочисленный логарифм с основанием 2 указанного числа.
Возвращает натуральный логарифм (с основанием e ) указанного числа.
Возвращает логарифм указанного числа в системе счисления с указанным основанием.
Возвращает логарифм с основанием 10 указанного числа.
Возвращает логарифм с основанием 2 указанного числа.
Возвращает большее из двух десятичных чисел.
Возвращает большее из двух чисел двойной точности с плавающей запятой.
Возвращает большее из двух 16-битовых целых чисел со знаком.
Возвращает большее из двух 32-битовых целых чисел со знаком.
Возвращает большее из двух 64-битовых целых чисел со знаком.
Возвращает больше двух собственных целых чисел со знаком.
Возвращает большее из двух чисел одинарной точности с плавающей запятой.
Возвращает большее из двух 16-битовых целых чисел без знака.
Возвращает большее из двух 32-битовых целых чисел без знака.
Возвращает большее из двух 64-битовых целых чисел без знака.
Возвращает больше двух собственных целых чисел без знака.
Возвращает большую величину из двух чисел двойной точности с плавающей запятой.
Возвращает меньшее из двух десятичных чисел.
Возвращает меньшее из двух чисел двойной точности с плавающей запятой.
Возвращает меньшее из двух 16-битовых целых чисел со знаком.
Возвращает меньшее из двух 32-битовых целых чисел со знаком.
Возвращает меньшее из двух 64-битовых целых чисел со знаком.
Возвращает меньшее из двух собственных целых чисел со знаком.
Возвращает меньшее из двух чисел одинарной точности с плавающей запятой.
Возвращает меньшее из двух 16-битовых целых чисел без знака.
Возвращает меньшее из двух 32-битовых целых чисел без знака.
Возвращает меньшее из двух 64-битовых целых чисел без знака.
Возвращает меньшее из двух собственных целых чисел без знака.
Возвращает меньшую величину из двух чисел двойной точности с плавающей запятой.
Возвращает указанное число, возведенное в указанную степень.
Возвращает оценку взаимности указанного числа.
Возвращает оценку обратного квадратного корня указанного числа.
Округляет десятичное значение до ближайшего целого значения; значения посередине округляются до ближайшего четного числа.
Округляет десятичное значение до указанного числа знаков после запятой; значения посередине округляются до ближайшего четного числа.
Округляет десятичное значение до указанного числа дробных цифр, используя указанное соглашение округления.
Округляет десятичное значение целым числом, используя указанное соглашение округления.
Округляет значение с плавающей запятой двойной точности до ближайшего целого значения; значения посередине округляются до ближайшего четного числа.
Округляет значение с плавающей запятой двойной точности до указанного числа знаков после запятой; значения посередине округляются до ближайшего четного числа.
Округляет значение с плавающей запятой двойной точности до указанного числа дробных цифр, используя указанное соглашение округления.
Округляет значение с плавающей запятой двойной точности до целого числа, используя указанное соглашение округления.
Возвращает значение x * 2^n, вычисленное эффективно.
Возвращает целое число, указывающее знак десятичного числа.
Возвращает целое число, обозначающее знак числа двойной точности с плавающей запятой.
Возвращает целое число, указывающее знак 16-разрядного целого числа со знаком.
Возвращает целое число, указывающее знак 32-разрядного целого числа со знаком.
Возвращает целое число, указывающее знак 64-разрядного целого числа со знаком.
Возвращает целое число, указывающее знак целого числа со знаком собственного размера со знаком.
Возвращает целое число, обозначающее знак числа с плавающей запятой одиночной точности.
Возвращает синус указанного угла.
Возвращает синус и косинус указанного угла.
Возвращает гиперболический синус указанного угла.
Возвращает квадратный корень из указанного числа.
Возвращает тангенс указанного угла.
Возвращает гиперболический тангенс указанного угла.
Вычисляет целую часть заданного десятичного числа.
Вычисляет целую часть заданного числа двойной точности с плавающей запятой.
Читайте также: