1.3. Вещественные числа
Число – простейший объект системы MATLAB, представляющий количественные данные. Основным типом данных, с которым производятся вычисления в системе MATLAB, являются десятичные числа. Они приближают с заданной точностью произвольные вещественные (действительные) числа. Десятичные числа, используемые в MATLAB, могут быть целыми и дробными, например: 0, 1, -93, 7.5674, 0.00000047.
Возможно представление чисел в экспоненциальной форме с указанием мантиссы и порядка числа: 3.3333e -4; -75.8e13.
Для отделения порядка числа от мантиссы применяется символ e, т.е. запись 3.3333e -04 соответствует записи 3.3333×10-4 или 0.00033333.
Ввод чисел возможен в любом удобном для пользователя виде. Например, проще набрать 10e8или1.0e9, чем1 000 000 000, а результат будет тот же самый. Пробел между цифрами и символомeпри вводе не допускается, так как это приводит к сообщению об ошибке:
>> 10 e8
??? 10 e8
Error: Missing operator, comma, or semicolon.
В качестве разделителя целой и дробной частей числа используется точка, а не запятая.
При вводе числа с нулевой целой частью ноль может опускаться: .5 равнозначно 0. 5.
Хотя задавать вещественные числа можно в любой из указанных выше форм, на машинном уровне системы MATLAB они представляются в форме с мантиссой и показателем степени. Этот основной тип данных называется double (формат с двойной точностью). Он задается по умолчанию, и даже целые числа представляются системой MATLAB на машинном уровне в той же форме, что и дробные числа.
Под мантиссу и показатель степени (на машинном уровне используется двоичная система записи) отводится 8 байт памяти. В результате для десятичных чисел достигается точность порядка 15 значащих цифр. Они принимают по модулю значения от 2.2250738507201e -308 до 1.797693134862316e+308. Для этих чисел зарезервированы имена realmin и realmax.
Все операции над числами MATLAB выполняет по умолчанию в формате double. Такой формат удовлетворяет подавляющему большинству требований к численным расчетам, но совершенно не подходит для символьных вычислений с произвольной (абсолютной) точностью (Глава 7).
В MATLAB также существует тип данных single, который снижает требования к памяти в два раза (под мантиссу и показатель степени отводится 4 байта). Но при сложных вычислениях в этом случае возрастает вероятность получить результат с большой погрешностью.
Существуют и целые типы данных: int8, uint8, int16, uint16, int32, uint32, int64, uint64. Под них отводится 8, 16, 32 и 64 байта соответственно. Буква u соответствует беззнаковым типам данных с диапазоном от 0 до некоторого максимального положительного значения.
Для того чтобы переменная получила тип данных, отличный от double, применяется явный квалификатор , совпадающий с названием типа.
Например,
>> x=int32(3.2)
определяет переменную целого типа int32.
Подробную информацию о перечисленных типах данных можно получить с помощью команд doc double, doc single, doc int8, doc uint8.
Yandex.RTB R-A-252273-3- Основы работы и программирования, компьютерная математика Учебный курс
- Isbn ооо «Харвест», 2008
- Предисловие
- Введение
- Глава 1 знакомство с matlab и простейшие вычисления
- 1.1. Рабочая средаMatlab
- 1.2. Арифметические вычисления
- 1.3. Вещественные числа
- 1.4. Форматы вывода результата вычислений
- 1.5 Комплексные числа
- 1.6 Векторы и матрицы
- 1.7 Встроенные функции. Функции, задаваемые пользователем
- 1.8 Сообщения об ошибках и их исправление
- 1.9 Просмотр и сохранение переменных
- 1.10 Матричные и поэлементные операции над векторами и матрицами
- 1.11 Решение систем линейных уравнений
- Вопросы для самопроверки
- Глава 2 работа с массивами
- 2.1 Создание векторов и матриц
- 2.2 Применение команд обработки данных к векторам и матрицам
- 2.3 Создание специальных матриц
- 2.4 Создание новых массивов на основе существующих
- 2.5 Вычисление собственных значений и собственных векторов. Решение типовых задач линейной алгебры
- Вопросы для самопроверки
- Глава 3 м-файлы
- 3.1 Файл-программы
- 3.2 Файл-функции
- Вопросы для самопроверки
- Глава 4 программирование
- 4.1 Операторы отношения и логические операторы
- 4.2 Операторы цикла
- 4.3 Операторы ветвления
- 4.4 Оператор переключения switch
- 4.5 Оператор прерывания цикла break
- 4.6 Пример сравнения быстродействия матричных и скалярных операций
- Вопросы для самопроверки
- Глава 5 высокоуровневая графика
- 5.1 2D графика
- 5.1.1 Графики в линейном масштабе
- 5.2 Специальные виды 2d - графиков
- 5.2.1 Представление функции в виде дискретных отсчетов
- 5.2.2 Лестничные графики
- 5.2.3 Графики с указанием погрешности
- 5.2.4 Графики в логарифмическом и полулогарифмическом масштабах
- 5.2.5 Графики параметрических функций
- 5.3 3D графика
- 5.3.1 Линейчатые поверхности
- 5.3.2 Каркасные поверхности
- 5.3.3 Контурные графики
- 5.3.4 Сплошная освещенная поверхность
- 5.4 Оформление, экспорт и анимация
- 5.4.1 Оформление графиков
- 5.4.2 Сохранение и экспорт графиков
- 5.4.3 Анимация
- Вопросы для самопроверки
- Глава 6 прикладная численная математика
- 6.1 Операции с полиномами
- 6.2 Решение уравнений и их систем
- 6.3 Минимизация функции одной переменной
- 6.4 Минимизация функции нескольких переменных
- 6.5 Вычисление определенных интегралов
- 6.6 Решение дифференциальных уравнений
- 6.7 Аппроксимация и интерполяция данных
- 6.8 Интерполяция двумерных и многомерных данных
- Вопросы для самопроверки
- Глава 7 символьные вычисления
- 7.1 Символьные переменные, константы и выражения
- 7.2 Вычисления с использованием арифметики произвольной точности
- 7.3 Команды упрощения выражений – simplify, simple
- 7.4 Команда расширения выражений – expand
- 7.5 Разложение выражений на простые множители – команда factor
- 7.6 Приведение подобных членов – команда collect
- 7.7 Обеспечение подстановок – команда subs
- 7.8 Вычисление пределов – команда limit
- 7.9 Вычисление производных – команда diff
- 7.10 Вычисление интегралов – команда int
- 7.11 Разложение в ряд Тейлора – команда taylor
- 7.12 Вычисление суммы ряда – команда symsum
- 7.13 Решение уравнений и их систем – команда solve
- 7.14 Решение дифференциальных уравнений – команда dsolve
- 7.15 Прямое и обратное преобразования Лапласа – команды laplace,ilaplace
- 7.16 Графики символьных функций – команды ezplot, ezpolar
- 7.17 Прямой доступ к ядру системы Maple – командаmaple
- 7.18 Разложение рациональной дроби на сумму простейших дробей
- 7.19 Интерполяционный полином Лагранжа
- 7.20 Решение неравенств и систем неравенств
- 7.21 Разложение в ряд Тейлора функции нескольких переменных
- 7.22 Решение дифференциальных уравнений с помощью степенных рядов
- 7.23 Решение тригонометрических уравнений
- Вопросы для самопроверки
- Приложения Приложение 1. Справочная система matlab
- Приложение 2. Знакомство с пакетами расширения системыMatlab
- Приложение 3. Задания для самостоятельной работы
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Литература