"MATLAB 7 (Наиболее полное руководство в подлиннике)" - читать интересную книгу автора (Ануфриев И.Е., Смирнов А.Б., Смирнова Е.Н.)» w = [0.1 2.9 3.3 5.1 2.6 7.1 9.8]; » wl = w(3;5) Wl = 3.3000 5.1000 2.6000
Составьте вектор-строку w2, содержащую элементы w кроме четвертого. Используйте двоеточие и сцепление строк: » w2 я [w(l:3) w(5:7)] Глава 2. Работа с массивами 59 w2 = 0.1000 2.9000 3.3000 2.6000 7.1000 9.8000 Вместо w(5:7) можно написать w(5:end). Такая запись означает, что берутся элементы, начиная с пятого и заканчивая последним. Если же ввести просто w (end), то получим последний элемент массива: » w(end) ans = 9.8000 Еще один способ индексирования — логическое индексирование — описан в разд. "Логическое индексирование" данной главы. Элементы массива могут входить в выражения. Вычисление, например, среднего геометрического из элементов вектора и можно проделать следующим образом: » gm = <и(1)*и(2)*и(3))Л(1/3) gm = 17.4779 Конечно, этот способ не очень удобен для длинных массивов. Для того чтобы найти среднее геометрическое, необходимо набрать в формуле все элементы массива. В MATLAB существует достаточно много специальных функций, облегчающих подобные вычисления, Применение функций обработки данных к векторам Перемножение элементов вектор-столбца или вектор-строки осуществляется при помощи функции prod: » z = [3; 2; 1; 4; 6,- S] | » Р ¦ prod(z) Р = 720 ' Зная об этой функции, несложно догадаться, как просто найти среднее геометрическое элементов вектора г. » gm = prod(z)A(l/length(z}) 2.9938 60 Часть I. Основы работы в MATLAB Функция sum предназначена для суммирования элементов вектора. Попробуйте самостоятельно вычислить среднее арифметическое элементов вектора г. Проверьте результат, вычислив среднее арифметическое, используя встроенную функцию mean. Вот что должно получиться: ans = 3.5000 » mean(z) ans =. 3.5O0CJ' Для нахождения минимума и максимума из элементов вектора служат встроенные функции min и max: » М = max(z) м = 6 » m = min(z) m => 1 При обращении к функции min с двумя векторами в качестве входных аргументов получится вектор, каждый элемент которого есть минимум из двух элементов исходных векторов с одинаковыми номерами, » р = [3 12 8]; » s = [4 10 7] ; » minip, s) ans = 3 10 7 Часто необходимо знать не только значение минимального или максимального элемента в массиве, но и его индекс {порядковый номер). Вы уже видели, что интерфейс функций MATLAB достаточно универсален — большинство из них допускают обращение к ним с переменным числом входных и выходных аргументов. Вызовите функцию min с двумя выходными аргументами: » [тп, к] и min(z) m - 1 к = 3 Глава 2. Работа с массивами_______________________________________________61 В результате переменной 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.Э000 1.3000 "7.1000 9.4000 Попробуйте упорядочить вектор по убыванию, используя эту же функцию sort. Правильный ответ: » R1 = -sort(-г) |
|
|