"MATLAB 7 (Наиболее полное руководство в подлиннике)" - читать интересную книгу автора (Ануфриев И.Е., Смирнов А.Б., Смирнова Е.Н.)

R1 = 9.4000 7.1000 1.3000 0.S0O0 -2.3000 -5.2000
Упорядочение элементов в порядке возрастания их модулей производится с привлечением вышеописанной функции aba:
» R2 = sort(abs[r)) R2 =
0.8000 1.3000 2.3000 5.2000 7.1000 9.4000
Вызов sort с двумя выходными аргументами приводит к образованию массива индексов соответствия элементов упорядоченного и исходного массивов:
» [rs, ind] - sort(r) rs = -5.2000 -2.3000 0.8000 1.3000 7.1000 9.4000

62
Часть I. Основы работы в MATLAB
ind = 3 2 5 641
Равенство r(ind(k)) = rs{k) для к от 1 до length (г) связывает исходный массив г, упорядоченный rs и массив индексов ind.
Если аргументом функций max и min является вектор, состоящий из комплексных чисел, то результатом является максимальный или минимальный по модулю элемент. Функция sort также упорядочивает комплексный вектор по модулю, а компоненты с равными модулями располагаются в порядке возрастания фаз.
В число встроенных функций входят: дискретное преобразование Фурье — fft, свертка — conv, работа со звуком — sound и многие другие. Подробно о них написано в приложении I. Самостоятельно о функциях обработки данных можно узнать, набрав в командной строке команду help datafun или обратившись к пункту Data Analysis and Fourier Transforms подраздела Mathematics раздела Functions — Categorical List интерактивной справочной системы MATLAB. В последующих разделах описано применение функций обработки данных к матричным данным.
Ь Примечание
Дополнительные функции содержатся и специализированных Toolbox. Команда help stats выводит в командное окно список статистических функций, доступных в MATLAB, если установка MATLAB включает Statistics Toolbox. Более подробную информацию можно почерпнуть из раздела Statistics Toolbox интерактивной справочной системы.
Поэлементные операции с векторами
В предыдущих разделах вектор использовался в качестве аргумента математических функций, результатом которых являлся вектор с элементами, равными значениям функции от соответствующих элементов исходного вектора. Таким образом, происходило поэле.меншное вычисление вызываемой функции. В этом разделе подробно описаны возможности поэлементной работы с векторами, которые понадобятся в дальнейшем, в частности, для определения собственных функций и построения их графиков.
Введите две вектор-строки:
» vl = [2. -3 4 1]; » v2 = [7 5 -6 9];
Глава 2. Работа с массивами
63
Операция . * (не вставляете пробел между точкой и звездочкой!) приводит к поэлементному умножению векторов одинаковой длины. В результате получается вектор с элементами, равными произведению соответствующих. элементов исходных векторов:
» U = vl.*v2
U =
14 - -15 -24 9
При ПОМОЩИ
» р = vl.Л2
о =
осуществляется поэлементное возведение в степень:
4 | IS 1
Показателем степени может быть вектор той же длины, что и возводимый в степень. При этом каждый элемент первого вектора возводится в степень, равную соответствующему элементу второго вектора:
» Р = vl."v2
р =
126.0000 -243.0000 0.0002 1.0000
Деление соответствующих элементов векторов одинаковой длины выполняется с использованием . /
» d = vl./v2 d = 0.2857 -0.6.000 -0.6667 0.1111
Обратное поэлементное деление (деление элементов второго вектора на соответствующие элементы первого) осуществляется при помощи . \
» dinv = vl.\v2 dinv =
3.5000 -1.6667 -1.5000 9.0000
Итак, точка в MATLAB используется не только для ввода десятичных дробей, но и для указания того, что деление или умножение массивов одинакового размера должно быть выполнено поэлементно.
К поэлементным относятся и операции с вектором и числом. Сложение вектора и числа не приводит к сообщению об ошибке. MATLAB прибавляет число к каждому элементу вектора. То же самое справедливо и для вычитания:
» v = [4 6 S 10]f » в = v + 1.3
64
I
Часть I. Основы работы в MATLAB
s =
5.2000 7.2000 9.2000 11.2000 » si = 1.2 + v si s
5.2000 7.2000 9.2000 11.2000 » г = 1.2 - v г =
-2.8000 -4.8000 -6.8000 -8.8000 » rl = v - 1.2 rl =
2.8000 4.8000 6.8000 8.8000