Поделиться Поделиться

Вещественные числа и тип данных double

Система MATLAB представляет на машинном уровне все действительные числа заданные мантиссой и показателем степени, например, 2.85093Е+11, где буквой Е обозначается основание степени равное 10. Этот основной тип данных носит название double. MATLAB по умолчанию использует формат short для вывода вещественных чисел, при котором показываются только четыре десятичных цифры после запятой.

Введите с клавиатуры пример:

» res=5.345*2.868/3.14-99.455+1.274

Получите результат вычисления:

res = -93.2990

Если требуется полное представление вещественного числа res, введите с клавиатуры команду:

» format long

и далее наберите имя переменной

» res

нажмите клавишу Enter и получите более подробную информацию:

res = -93.29900636942675

Теперь все результаты вычислений будут показываться с такой высокой точностью в течение данного сеанса работы в среде системы MATLAB. Если требуется до прекращения текущего сеанса работы вернуться к старой точности визуального представления вещественных чисел в командном окне, нужно ввести и исполнить (нажав клавишу Enter) команду:

» format short

Целые числа показываются системой в командном окне в виде целых чисел. Над вещественными числами и переменными типа double производятся арифметические операции: сложения +, вычитания -, умножения *, деления / и возведения в степень ^. Приоритет в выполнении арифметических операций обычный. Операции одинакового приоритета выполняются в порядке слева направо, но круглые скобки могут изменить этот порядок.

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

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

Вычислите выражение, включающее вычисление функции арксинус:

» 2*asin(1)

Убедитесь, что получился следующий результат:

ans = 3.1416,

соответствующее числу «пи». В системе MATLAB для вычисления числа «пи» есть специальное обозначение: pi. MATLAB имеет также логические функции, функции, связанные с целочисленной арифметикой (округления до ближайшего целого: round, усечение дробной части числа: fix). Есть еще функция mod – остаток от деления с учетом знака, sign – знак числа, lcm – наименьшее общее кратное, perms – вычисление числа перестановок и nchoosek – числа сочетаний и много других. Многие из функций имеют область определения, отличную от множества всех действительных чисел.

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

Вещественные числа и тип данных double - Инвестирование - 1

В случае истинности операции отношения ее величина равна 1, а в случае ложности – 0. Операции отношения имеют более низкий приоритет, чем арифметические операции.

Наберите с клавиатуры выражение с операциями отношения и вычислите его:

» a=1; b=2; c=3;

» res=(a<b)+(c~=b)+(b==a)

Вы получите следующий результат:

res = 2

Логические операции над вещественными числами обозначаются знаками, перечисленными в таблице 2:

Вещественные числа и тип данных double - Инвестирование - 2

Первые две из этих операций являются бинарными (двухоперандными), а последняя – унарной (однооперандной). Логические операции трактуют свои операнды как «истинные» (не равные нулю) или «ложные» (равные нулю). Если оба операнда операции «И» истинны (не равны нулю), то результат этой операции равен 1 («истина»); во всех остальных случаях операция «И» вырабатывает значение 0 («ложь»). Операция «ИЛИ» вырабатывает 0 («ложь») только в случае, когда являются ложными (равными нулю) оба операнда. Операция «НЕ» инвертирует «ложь» на «истину». Логические операции имеют самый низкий приоритет.

← Предыдущая страница | Следующая страница →