8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 22 23 24 25 26 27 28 ... 365

В результате переменной m будет присвоено значение минимального элемента массива z, а номер минимального элемента занесен в переменную к.

Как же узнать, как именно можно вызывать функцию. Для быстрого получения подсказки следует набрать в командной строке help и через пробел имя функции. MATLAB выведет в командное окно всевозможные способы обращения к функции с дополнительными пояснениями. Аналогичные сведения можно найти в интерактивной справочной системе, которой вы уже пользовались при чтении главы 1. Если известно имя функции, то проще всего воспользоваться индексным поиском (вкладка Index в левой части окна справочной системы MATLAB). В строке ввода Search index for: следует набрать имя функции, например, min, затем в левом окне выбрать раздел MATLAB и ознакомиться с содержимым правого окна. Информация обо всех функциях MATLAB для работы с векторными и матричными данными содержится в пункте Arrays and Matrices подраздела Mathematics раздела Functions — Categorical List (вкладка Contents).

В число основных функций для работы с векторами входит функция упорядочения вектора по возрастанию его элементов sort.

» г = [9.4 -2.3 -5.2 7.1 0.8 1.3]; » R = sort(г)

R =

-5.2000 -2,3000 0.8000 1.3000 7.1000 9.4000

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

» Rl = -sort(-г)

R1 =

9.4000 7.1000 1.3000 0.8000 -2.3000 -5.2000

Упорядочение элементов в порядке возрастания их модулей производится с привлечением вышеописанной функции abs:

» R2 = sort(abs(г))I

R2 =

0.8000 1.3000 2.3000 5.2000 7.1000 9.4000

Вызов sort с двумя выходными аргументами приводит к образованию массива индексов соответствия элементов упорядоченного и исходного массивов:

» [rs, ind] = sort(г) rs =

-5.2000 -2.3000 0.8000 1.3000 7.1000 9.4000


ind = 3 2 5 6 4 1

Равенство r<ind(k; > - rs(k) для к от 1 до length(r) связывает исходный массив г, упорядоченный rs и массив индексов ind.

Если аргументом функций max и min является вектор, состоящий из комплексных чисел, то результатом является максимальный или минимальный по модулю элемент. Функция sort также упорядочивает комплексный вектор по модулю, а компоненты с равными модулями располагаются в порядке возрастания фаз.

В число встроенных функций входят: дискретное преобразование Фурье — ff t, свертка — conv, работа со звуком — sound и многие другие. Подробно о них написано в приложении 1. Самостоятельно о функциях обработки данных можно узнать, набрав в командной строке команду help data fun или обратившись к пункту Data Analysis and Fourier Transforms подраздела Mathematics раздела Functions — Categorical List интерактивной справочной системы MATLAB. В последующих разделах описано применение функций обработки данных к матричным данным.

1 Примечание

Дополнительные функции содержатся в специализированных Toolbox. Команда help stats выводит в командное окно список статистических функций, доступных в MATLAB, если установка MATLAB включает Statistics Toolbox. Более подробную информацию можно почерпнуть из раздела Statistics Toolbox интерактивной справочной системы.

Поэлементные операции с векторами

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

Введите две вектор-строки:

» vl =[2-3 1 1]; » v2 = [7 5 -6 9] ;


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

» и = vl.*v2 и -

14 -15 -24 9

При помощи .Л осуществляется поэлементное возведение в степень: » р = vl."2

р =

4 9 16 1

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

» Р = vl."v2 Р =

128.0000 -243.0000 0.0002 1.0000

Деление соответствующих элементов векторов одинаковой длины выполняется с использованием . /

» d = vl./v2 d =

0.2857 -0.6000 -0.6667 0.1111

Обратное поэлементное деление (деление элементов второго вектора на соответствующие элементы первого) осуществляется при помощи . \

» dinv = vl.\v2 dinv =

3.5000 -1.6667 -1.5000 9.0000

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

К поэлементным относятся и операции с вектором и числом. Сложение вектора и числа не приводит к сообщению об ошибке. MATLAB прибавляет число к каждому элементу вектора. То же самое справедливо и для вычитания:

» v = [4 6 8 10] ;

» 2 = V + 1.2



0 ... 22 23 24 25 26 27 28 ... 365