Форматы представления чисел и типы данных, используемых при обработке изображений — КиберПедия 

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

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

2017-11-17 740
Форматы представления чисел и типы данных, используемых при обработке изображений 0.00 из 5.00 0 оценок
Заказать работу

Математические выражения содержат числа и символы. В силу того, что в ЭВМ элементом информации является бит, принимающий значение 0 или 1, то представление символьных и числовых величин имеет ограничение в некотором диапазоне, измеряемом в битах или байтах. Байт равен 4 битам. Таким образом, максимальное количество вариантов чисел, которые могут быть представлены 1 байтом равно 24=16. Тогда с учетом нулевого значения с помощью одного байта можно получить положительное целое число из отрезка [0,15]. Если один бит выделить под информацию о знаке числа, то один байт соответствует отрезку [-8,7]. Базовым форматом представления целых чисел является int8, использующий 2 байта, т.е. 8 бит. Первый бит выделяется на знак числа, остальные 7 бит позволяют генерировать числа не более 27=128. Таким образом, формат int8 соответствует целым числам из интервала [-128,127].

 

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

  Имя Описание
1. logical Значения 0 или 1 (1 бит на элемент).
2. int8 Целые со знаком в интервале [-128,127](2байта)
3. uint8 Целые без знака в интервале [0,255] (2 байта)
4. int16 Целые со знаком в интервале [-32768,32767] (4 байта)
5. uint16 Целые без знака в интервале [0,65535] (4 байта)
6. int32 Целые со знаком в интервале [-2147483648, 2147483647] (8 байтов)
7. uint32 Целые без знака в интервале [0,4294967295] (8 байтов)
8. single Вещественные числа с плавающей запятой обычной точности в диапазоне от -1038 до 1038 (4 байта)
9. double Вещественные числа с плавающей запятой двойной точности в диапазоне от -10308 до 10308
10. char Символы (буквы и знаки) (2 байта на символ)

Пример 2.1.

1. 201 – целое число, тип unit8 или int8

2. -122 – целое число, тип int8

3. -8.256 – действительное число, тип single

4. 47584930274847.9994 - действительное число, тип double:

>> x=47584930274847.9994

 

x = % представления числа типа

4.7585e+013 % double в MATLAB

 

5. АВС1 – char, символьный тип

Упражнение 2.1.

а). Почему число -122 не относится к типу unit8?

б). Если a=2 и b=16, к какому типу следует отнести результат операции деления c=a/b, чтобы он был по возможности более точным?

в). Если a, b и c принадлежат unit8, a=45, b=17, c=a/b, чему равно c?

Массивы.

Массивы (array) представляют собой структуры, используемые в языках программирования для работы с наборами (упорядоченными последовательностями) чисел одного типа. Естественно, что компьютер может работать только с конечными наборами чисел. Таким образом, массив – это функция на упорядоченной последовательности чисел , таких что , , количество чисел в . Число k называется размерностью массива или числом индексов массива.

Например, Х ={ f (1), f (2), f (3), f (4), f (5 )}={5,10,34,56,70} – одномерный массив целых чисел, где А1= {1,2,3,4,5};

               
       


f(1,1), f(1,2), f(1,3), f(1,4) 3.5, - 6, 90,1.9

Y= f(2,1), f(2,2), f(2,3), f(2,4) = 5.1 1.1, 40, 48 -

f(3,1), f(3,2), f(3,3), f(3,4) -60, 3.4,-1.6, 9

 

двумерный массив действительных чисел, где А1={1,2,3}, А2={1,2,3,4}.

 

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

А =,где m – число строк, n – число столбцов, прозвольный элемент имеет два индекса: i - номер строки, j – номер столбца. Размером матрицы А называется пара m ´ n.

Каждый язык программирования имеет ограничения на k -число наборов в массиве. В С++ величина k не превосходит 12. Для MATLAB наиболее часто используются случаи k =1 и 2.

Одномерные массивы (конечная последовательность чисел) инициализируются в MATLAB в квадратных скобках, разделители – пробелы или запятые. Индексация массивов начинается с единицы.

Пример 2.2.

а) >> v=[3 V 5 V 6 V 7 V 2] % Ввод целочисленного вектора

v = % Значение переменной v

3 5 6 7 2

б) >> v(2) % Запрос значения координат

% вектора v с номером 2

ans =

в) >> v2=v(2);v2 % Запрос значения координат

% вектора v с номером 2

v2 =

г) >> v(1:3) % Запрос значений координат

% вектора v начиная с номера

% 1 до номера 3

ans =

3 5 6

Замечание. В примере 2.2.б в запросе не указано точное имя переменной вывода, поэтому в ответе используется имя “ans”.

В примере 2.2.в мы указали имя выводимой переменной “ v2 ” и в ответе компьютера оно появилось.

Для доступа к блоку элементов массива используется символ «:».

Для ввода матриц (прямоугольной таблицы) в качестве разделителя строк используется символ «;».

Пример 2.3.

а) Ввод матрицы А размер 3 х 3.

>> A = [1 V 2 V 3; V 2 V 3 V 4; V 5 V 4 V 3] % Ввод элементов

% матрицы А 3х3

A = % Проверка

1 2 3

2 3 4

5 4 3

б) Ввод ранжированного вектора x= {1, 3, 5, 7, 9}

>> x = 1:2:9 % Указываются начальное значение,

% разделитель ‘:’, шаг, разделитель,

% конечное значение

Операторы

Операторы MATLAB разделены на три основные категории:

- арифметические операторы;

- операторы сравнения;

- логические операторы.

Операции с числами

В MATLAB существуют следующие арифметические операторы:

+ сложение
- вычитание
* умножение
^ возведение в степень

Операции с матрицами

+ сложение
- вычитание
* умножение
/ правостороннее деление
\ левостороннее деление
^ возведение в степень
' транспонирование

Следующие операторы могут быть применены к матрицам (двумерным массивам):

а) A + B - сложение матриц одинакового размера,

б) A - B - вычитание матриц одинакового размера,

в) A * B - обозначает произведение матриц A и B по правилам линейной алгебры (число столбцов А равно числу строк В):

если , то

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

д) В / А - возвращает матрицу, равную . Результат является решением матричного уравнения . Использование оператора в виде В. / А создает матрицу С с элементами

е) A \B - возвращает матрицу, равную . Результат является решением матричного уравнения . Использование оператора в виде В.\А создает матрицу С с элементами

ж) A ’ - транспонирование матрицы (aij ® (j,i)).

Замечание. Левостороннее и правостороннее операции деления матриц связаны соотношением

Пример 2.4. Применим операции деления к числам 4 и 2 как

матрицам размера 1*1. Результатом действия оператора 4/2 будет число 2, а 4\2 дает соответственно 0.5.


Поделиться с друзьями:

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.017 с.