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

ВВЕДЕНИЕ В СИСТЕМУ MATLAB

Предисловие

MATLAB – система многоцелевого назначения, которая вышла на рынок программных продуктов более двадцати лет назад и с тех пор непрерывно со­вершенствовалась. Но первоначально ее основу составляли алгоритмы решения систем линейных уравнений и задач на собственные значения, откуда и про­изошло ее название «матричная лаборатория». Сейчас уже существует несколько десятков специальных приложений к MATLAB’у, посвященных более узким проблемам. Это обработ­ка сигналов и изображений, инженерное программирование в виде блок-схем, решение экономических задач, нейронные, гибридные сети, нечеткие множества и многое другое. Но любое из этих приложений можно изучать только после первоначального освоения MATLAB’а.

Лабораторная работа 1

Основы работы с MATLAB

Среда MATLAB включает интерпретатор команд на языке высокого уров­ня, графическую систему, пакеты расширений и реализована на языке C. Вся работа организуется через командное окно (Command Window), которое появля­ется при запуске программы matlab.exe. В процессе работы данные располага­ются в памяти (Workspace), для изображения кривых, поверхностей и других графиков создаются графические окна.

В командном окне в режиме диалога проводятся вычисления. Пользова­тель вводит команды или запускает на выполнение файлы с текстами на языке MATLAB. Интерпретатор обрабатывает введенное и выдает результаты: число­вые и строковые данные, предупреждения и сообщения об ошибках. Строка ввода помечена знаком >>. В командном окне показываются вводимые с кла­виатуры числа, переменные, а также результаты вычислений. Имена перемен­ных должны начинаться с буквы. Знак = соответствует операции присваивания. Нажатие клавиши Enter заставляет систему вычислить выражение и показать результат. Наберите с клавиатуры в строке ввода: » a=2+51-37

Нажмите клавишу Enter, на экране в зоне просмотра появится результат вычисления: a = 16

Все значения переменных, вычисленные в течение текущего сеанса рабо­ты, сохраняются в специально зарезервированной области памяти компьютера, называемой рабочим пространством системы MATLAB (Workspace). Коман­дой clc можно стереть содержимое командного окна, однако это не затронет содержимого рабочего пространства. Когда исчезает необходимость в хранении ряда переменных в текущем сеансе работы, их можно стереть из памяти ком­пьютера командой clear или clear(имя1, имя2, …). Первая команда удаляет из памяти все переменные, а вторая - переменные с именами имя1 и имя2. Коман­дой who можно вывести список всех переменных, входящих в данный момент в рабочее пространство системы. Для просмотра значения любой переменной из текущего рабочего пространства системы достаточно набрать ее имя и нажать клавишу Enter.

Легче всего протокол сессии получить с помощью команды diary. Вызов команды diary <имя_файла> приведет к тому, что все появившееся далее на экране (кроме графики) будет записано в файл <имя_файла>. Например, diary('sept23.out'), для прекращения записи сеанса вводится: diary('off'). Несколько последовательно набранных команд могут быть сохранены в M-файле (т.е. *.m), который с точки зрения операционных систем представляет аналог BAT-файла, а с точки зрения программирования – зародыш будущей программы. Самый простой путь для этого – в окне Command History выделить нужные команды, исполнить команду Create M-file контекстного меню; при этом откроется редактор М-файлов.

Вещественные числа и тип данных 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 находится в Приложении 2).

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

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

Таблица 1

Символьные обозначения операций отношения

< <= > >= ~= ==
Меньше Меньше или равно Больше Больше или равно Не равно Равно

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

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

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

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

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

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

Таблица 2

Символьные обозначения логических операций

& ׀ ~
И ИЛИ НЕ

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

Наши рекомендации