"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 |
|
|