Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основные понятия среды MATLAB.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

2 Системные переменные и типы данных

2.1 Системные переменные

В среде MATLAB предусмотрены стандартные системные переменные (таблица 1.2). Благодаря использованию системных переменных не возникает зависания системы в случаях выполнения некоторых некорректных арифметических операций. Переменная ans позволяет сохранить результат последней текущей операции.

В отличие от констант, системные переменные могут переопределяться. Можно задать системной переменной eps иное значение, например eps=0.0001. При переопределении значений системных переменных необходимо соблюдать внимательность и осторожность. Однако важно то, что их значения по умолчанию задаются сразу после загрузки системы, поэтому в отличие от обычных переменных, системные переменные определены всегда.

Таблица 1.2. Список системных переменных

Имя переменной

Значение

i или j

мнимая единица ( );

pi

число п - 3.1415926...

eps

погрешность операций над числами с плавающей точкой (2- 52 )

realmin

наименьшее число с плавающей точкой (2- 1022 )

realmax

наибольшее число с плавающей точкой (2 1023 )

inf

значение машинной бесконечности

ans

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

NaN

указание на нечисловой характер данных (Not-a-Number) или неопределенность (ноль делить на ноль)

Примеры.

  1. >> s=0/0 % Использование системной переменной NaN

Warning: Divide by zero. – Предупреждение. Деление на 0.

ans = NaN

  1. >> 2*pi % Использование системной переменной pi.

ans = 6.2832

2.2. Типы данных. Описание основных типов

Тип данных является одним из основных понятий любого языка программирования. Правильное их определение позволяет оптимизировать ресурсы для хранения и выполнения действий.

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

  • числовые данные;

  • символьные данные;

  • указатели.

В свою очередь, эти типы делятся на простые и сложные (рис. 1.6).

Рис. 1.6 Структура типов данных MATLAB

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

Для определения конкретного типа используются специальные ключевые слова (таблица 1.3).

Таблица 1.3. Основные типы простых числовых данных в MATLAB

Ключевое слово

Тип

К-во бит

double

вещественный двойной точности

64

single

вещественный

32

int8

знаковый целочисленный

8

int16

знаковый целочисленный

16

int32

знаковый целочисленный

32

int64

знаковый целочисленный

64

uint8

целочисленный без знака

8

uint16

целочисленный без знака

16

uint32

целочисленный без знака

32

uint64

целочисленный без знака

64

char

символьный

16 – 1 символ

Установку типа данных можно выполнить командой format.

Синтаксис.

format keyword список переменных, где keyword – имя формата, переменные в спике разделяются запятыми. Если список пуст, то все переменные, определенные после команты format определяются заданым типом.

Примеры.

1) format single x,y; – определяет переменные x, y как действительные числа обычной точности.

2) format int8 Im; – определяет переменную Im как целочисленную, длинной 1 байт;

Также с помощью команды format можно задавать формат вывода числовых значений (таблице 1.4).

Таблица 1.4. Основные форматы числовых данных в MATLAB

Ключевое слово

Тип

short

короткое представление в фиксированном формате (5 знаков)

long

длинное представление в фиксированном формате

(15 знаков)

hex

представление чисел в шестнадцатеричной форме

bank

представление для денежных единиц

rat

представление чисел в виде рациональной дроби

Для ключевых слов short и long также можно указывать спецификации:

  • e – представление числа в экспоненциальной форме

  • short e – выводит четыре знака после десятичной точки,

например, 3.1416e+000;

  • long e – выводит семь знаков после десятичной точки для типа

single и 14-15 – для типа double, например. 3.141592653589793e+000;

  • g – обычное представление десятичного числа;

  • short g – выводит четыре знака после десятичной точки,

например, 3.1416;

  • long e – выводит семь знаков после десятичной точки для типа single и 14-15 – для типа double, например, 3.14159265358979;

  • eng – представление десятичного числа в инженерном формате

  • short eng – выводит четыре знака после десятичной точки и три значения для представлений степени десятки, например, 3.1416e+000;

  • long eng – выводит 16 знако после десятичной точки и три значения для представлений степени десятки, например, 3.14159265358979e+000.

Для определения текущего формата используется следующая команда: get(0,'Format').

Примеры.

>> format short % установка короткого представления числа

>> pi

ans = 3.1416

>> format rat % представление десятичного числа в рациональном виде

>> pi

ans = 355/113

>> format hex % представление числа в шестнадцатеричном виде

>> a=256

a = 4070000000000000

Предварительное описание типа не является обязательным, так как в среде MATLAB действует определение типа по умолчанию. При присвоении численного значения переменной она автоматически определяется как матрица размерности 1х1 действительного типа двойной точности и выводится в формате short e.

Пример.

a=2.15 – определяет переменную a как матрицу действительных чисел размерности 1х1.

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

Синтаксис

а=keyword(x), где а – имя переменной, keyword – ключевое слово, определяющее тип переменной, х – значение или имя переменной, которая преобразовывается в новый тип.

Пример.

1) Пусть a действительная переменная.

A= int16(a) – преобразует действительное число a в целое длинной

2 байта.

2) I=imread('F_1.jpg'); – функция imread считывает изображение из файла F_1.jpg и запоминает в матрице I типа uint8.

I=double(I); – преобразование значений матрицы I в действительные числа двойной точности.