- Главная страница
- Электронные приборы
- Построения систем и сетей телекоммуникаций
- Временные коммутационные поля
- Декадно-шаговые АТС
- Квазиэлектронные АТС
- Коммутационные приборы
- Коммутируемая телефонная сеть общего пользования (КТСОП)
- Многозвенные ступени искания
- Многократные координатные соединители
- Направляющие среды телекоммуникаций
- Нумерация на телефонных сетях
- Основы теории телефонного сообщения
- Построение местных телефонных сетей
- Разделение каналов по коду
- Структурная схема телефонного канала
- Пакетная коммутациия в сетях
- Телеграфные каналы
- Телеграфная сеть
- Канал передачи
- Построение линий связи
- Конструктивные элементы воздушных линий связи
- Классификация, конструкция и маркировка кабелей связи
- Типы кабелей связи
- Классификация оптических кабелей связи
- Кабельная телефонная канализация
- Прокладка кабельных линий
- Монтаж кабелей связи
- Ввод кабелей связи в здание станции, в телефонизируемые здания
- Оконечные кабельные устройства и их монтаж
- Содержание кабелей под избыточным воздушным давлением
- Электрические характеристики цепей кабельных линий связи
- Электрические характеристики волоконно-оптических кабелей связи
- Природа и основные параметры влияния между цепями
- Влияние в оптических кабелях связи и меры защиты от взаимных помех
- Источники опасных и мешающих влияний
- Меры защиты линий связи от опасных и мешающих влияний
- Коррозия сооружений связи и меры защиты
- Организация эксплуатации
- Охрана кабельных сооружений, ремонт и аварийно-восстановительные работы
- Проектирование линейнух сооружений на магистральной, зоновой и местной сетях
- Mathlab
- Компьютерная диагностика
- Защита информации в вычислительных сетях
- Формирование последовательностей со случайной природой.
- Мгновенная относительная частота и первый критерий равномерного распределения элементарных событий.
- Методы регулирования вероятностей
- Вероятностные преобразователи информации.
- Криптосистема без передачи ключей.
- Криптосистема c открытым ключом (RSA)
- Шифросистема Эль-Гамаля
- Криптографическая подпись Фиат-Шамира
- Шифры перестановки
- Инъективное преобразование множества
- Получение и обработка изображений
- Понятие и классы изображений
- Растровая и векторная графика
- Позиционные методы кодирования
- Кодирование серий
- Структурные методы кодирования
- Устранение ступенчатости
- Бинарные изображения
- Характеристические числа
- Улучшение изображения
- Видоизменение гистограмм
- Ложные цвета
- Фильтрация изображений
- Фильтрация шумов бинарных изображений.
- Фильтрация шумов полутоновых изображений
- Понятие сегментации
- Сегментация бинарных изображений.
- Линии и области.
- Сегментация полутоновых изображений.
- Фильтрация текстур.
- Автоматизированные системы контроля и управления
- Цифровая обработка сигналов и изображений
- Теория автоматического управления
- Обратная связь
Ввод векторов и матриц
| Индекс материала |
|---|
| Ввод векторов и матриц |
| Просмотр и сохранение переменных |
| Матричные действия с векторами и матрицами. |
Ввод векторов и матриц
Все данные MATLAB представляет в виде массивов. Массив – упорядоченная , пронумерованная совокупность однородных данных. У массива должно быть имя. Фундаментальным принципом построения системы MATLAB является ее ориентация на операции с матрицами и векторами. Под вектором в MATLAB понимается одномерный массив данных, а под матрицей – двумерный массив.
Исходные значения векторов можно задавать с клавиатуры путем поэлементного ввода. Для этого в командной строке следует вначале указать имя вектора, потом поставить знак присваивания < = >, далее – открывающую квадратную скобку, а за ней ввести заданные значения элементов вектора, отделяя их пробелами или запятыми. Завершается строка закрывающей квадратной скобкой. Так, ввод
V=[1 2 3]
V =1 2 3
задает вектор – строку V, содержащий три элемента со значениями 1,2,3.
Параллельное использование запятых и пробелов допустимо даже в пределах ввода одного вектора: записи V=[1,2,3] или V=[1 2,3] полностью эквивалентны предыдущей.
Оператор <:> (двоеточие) дает возможность простого создания векторов, каждый элемент которых отличается от предшествующего на постоянную величину, т.е. шаг. Например:
>> V=-0.1:0.3:1.4
V =-0.1000 0.2000 0.5000 0.8000 1.1000 1.4000
Шаг, равный единице, допускается не указывать при автоматическом заполнении. Шаг может быть и отрицательным.
Возможен ввод векторов в виде арифметических выражений, содержащих любые допустимые системе функции, например:
>> V=[2+2/(3+4),exp(5),sqrt(10)]
V =2.2857 148.4132 3.1623
Вектор – столбец A вводится аналогично, но значения элементов в перечне отделяются знаком <;>:
>> A=[1.3;5.4;6.9]
A =1.3000 5.4000 6.9000
Знак <;> также используется для разделения строк при задании матриц. Один из способов ввода матрицы основан на том, что матрицу можно рассматривать как вектор-столбец, каждый элемент которого является строкой матрицы. Поскольку точка с запятой используется для разделения элементов вектор-столбца, то комбинируя оба варианта разделителей, можно сформировать матрицу
B=:
>> B=[1 3 0;-2 -2 5]
B =1 3 0 -2 -2 5
Матрицы небольших размеров удобно вводить из командной строки. Вначале ставится открывающая квадратная скобка. Затем элементы каждой строки матрицы набираются через пробел, а ввод строки завершается нажатием на <Enter>. При вводе последней строки в конце ставится закрывающая квадратная скобка. Если после закрывающей квадратной скобки не ставить точку с запятой для подавления вывода в командное окно, то матрица выведется в виде таблицы.
Так можно сформировать предыдущую матрицу B:
>> B=[1 3 0
-2 -2 5]
B =1 3 0 -2 -2 5
Еще один способ формирования векторных и матричных массивов в окне рабочего пространства Workspace (рис.1.3) рассмотрен ниже.
Обращение к элементам вектора
Доступ к элементам вектора осуществляется при помощи индекса (целое положительное число), заключаемого в круглые скобки после имени массива, в котором хранится вектор. Если введен массив V, определенный вектор - строкой
>> V=[3.1 4.5 7.1 2.2 0.8];
то для вывода, например, его третьего элемента, используется индексация:
>> V(3)
ans =7.1000
Если нужно, наоборот, вставить на это место некоторое число, например ?, то это можно сделать так:
>> V(3)=pi
v =3.1000 4.5000 3.1416 2.2000 0.8000
Обращение к элементам матриц
Доступ к элементам матриц осуществляется при помощи двух индексов – номеров строки и столбца, заключенных в круглые скобки после имени массива, котором хранится массив, например:
>> M=[1 2 3 4;5 6 7 8];
>> M(2,3)
ans =7
Если нужно, наоборот, вставить на это место некоторое число, например e, то это можно сделать так:
>> M(2,2)=exp(1)
M =1.0000 2.0000 3.0000 4.0000
5.0000 2.7183 7.0000 8.0000
Обратите внимание на то, что после операции присваивания нового значения хотя бы одному элементу матрицы, не завершенной точкой с запятой, матрица М целиком выводится в командное окно.
Присвоить можно и значение элементу матрицы, индексы которого превышают текущие ее размеры. В этом случае эти размеры будут соответственно увеличены, а остальные элементы такой расширенной матрицы будут заполнены нулями:
>> A=[1 2]
A =1 2
>> A(2,3)=5
A =1 2 0 0 0 5
Элементы массивов могу входить в состав выражений.
>> A(1,1)/A(1,2)-A(2,3)
ans =
-4.5000
Функция size(B) позволяет установить размер массива B, она возвращает результат в виде вектора, первый элемент которого равен числу строк, а второй — столбцов:
>> B=[1 2 3;4 5 6];V=[1 2 3];A=[1;2;3];a=5;
>> disp(size(B))
2 3
>> disp(size(V))
1 3
>> disp(size(A))
3 1
>> disp(size(a))
1 1
Итак, B, V, A ,a – массивы размеров 2×3, 1×3, 3×1, 1×1 соответственно.
Результатом применения функции length(V) к вектору V является длина вектора – число его элементов:
>> disp(length(V))
3
Функция ndims(B) позволяет установить размерность массива B:
>> disp(ndims(B))
2
>> disp(ndims(a))
2
>> disp(ndims(V))
2
Итак, B, a, V – массивы размерности 2 установленных выше размеров.
В MATLAB можно создавать массивы размерности и выше 2. Пример:
>> p(1,1,2)=1
p(:,:,1) =0
p(:,:,2) =1
>> disp(size(p))
1 1 2
>> disp(ndims(p))
3
Итак, введен массив p размерности 3 размера 1×1×2 с двумя элементами p(1,1,1) =0 и p(1,1,2) =1.