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

0.1854
0.6283
Запоминать правила сцепления вектор-строк и вектор-столбцов не требуется, достаточно посмотреть на вектор-строку v как на блочную строку. Элементы этой блочной строки, т. е. вектор-строки vl и ч2, разделены пробелом в соответствии с правилом набора вектор-строк. Аналогичное рассуждение верно и для сцепления вектор-столбцов.
Для просмотра и изменения значений элементов массивов удобно использовать редактор массивов (Array Editor). Дважды щелкните мышью по имени массива v в окне Workspace или нажмите кнопку Open Selection на панели инструментов окна Workspace при положении курсора на имени массива — откроется окно редактора массивов с содержимым вектор-строки v (рис. 2.1). Имя просматриваемого массива указано в строке заголовка окна.
|g? Array Editor - v * x 1
1н ! X % 11 # Stack;)*, §( VJ ЕБ Ш Б t3 [И" * *
1 2 Э 4 5 6 ;
1 13.1415926... 1.5707963... 1.0471975... 0.7853981... 0.6283185... Л.
2
3
4
5
6
7
8
g
Рис. 2.1. Окно редактора массивов Array Editor
Двойной щелчок мышью по ячейке или нажатие клавиши (как и в таблицах MS Excel) позволяет редактировать содержимое соответствующего элемента массива. "Убедитесь в этом, изменяя значения элементов и выводя массив в командное окно. При заполнении пустых клеток изменяются размеры массива так, что он остается прямоугольным наименьшей размерности и содержит все определенные элементы. При этом не определенные пользователем элементы приобретают нулевое значение. Для уменьшения размеров следует использовать элемент управления Delete (в контекстном
Глава 2. Работа с массивами
57
или оконном меню или на панели инструментов), а не Cut, который приводит лишь к обнулению элементов массива.
Для работы с данными редактор массивов MATLAB предоставляет возможности, аналогичные MS Excel. Увеличьте длину вектор-строки v до 10, для чего выделите первые пять ее элементов, скопируйте их при помощи всплывающего меню (или кнопки Сору панели инструментов, или одноименного пункта меню Edit), сделайте текущей шестую ячейку и используйте вставку (Paste) для дублирования первых пяти элементов, вектор-строки. Проверьте при помощи командного окна изменился ли вектор v,
Редактор массивов позволяет просматривать значения нескольких переменных. Двойной щелчок по строке с vi в окне Workspace приводит к появлению нового окна в редакторе массивов. Каждое из окон можно сделать активным при помощи соответствующей вкладки внизу окна редактора или выбрав его название в меню Window. Кнопки в правой части панели инструментов соответствуют различным способам расположения таблиц с содержимым массивов в окне редактора Array Editor. Также редактор массивов оказывается очень полезным при отладке собственных программ (отладке программ посвящен разд. "Диалоговая отладка программ" главы 8).
Обращение к элементам вектора
Доступ к элементам вектора или вектор-строки осуществляется при помощи индекса, заключаемого в круглые скобки после имени массива, в котором хранится вектор. Если среди переменных рабочей среды есть массив v, определенный вектор-строкой
» v = [1.3 3.6 7.4 8.2 0.9];
то для обращения, например, к четвертому элементу используется индексация:
» h = v{4) h = 3.2000
Указание элемента массива в левой части оператора присваивания приводит к изменению в массиве
» v{2) = 555 v =
1.3000 555.0000 7.4000 8.2000 0.9000
58
Часть i. Основы работы в MA TLAB
Из элементов массива можно формировать новые массивы, например:
» и = [v(3); v(2>; v(l)]
LI =
7.4000
555.0000
1.3000.
Для помещения определенных элементов вектора в другой вектор в заданном порядке служит индексация при помощи вектора. Например, запись в вектор-строку w четвертого, второго и пятого элементов у производится следующим образом:
» ind =[4 2 5] ;
» w = v(ind)
w == 8.2000 555.0000 0.9000
MATLAB предоставляет удобный способ обращения к блокам последовательно расположенных элементов вектора или вектор-строки. Для этого служит индексация при помощи знака двоеточия. Предположим, что в заданной вектор-строке w из семи элементов требуется заменить нулями элементы со второго по шестой. Индексация при помощи двоеточия позволяет просто и наглядно решить поставленную задачу:
» w = [0.1 2.9 3.3 5.1 2.6 7.1 9.8]; » w(2:6} = 0; » w
w -0.1000 0 0 0 0 0 9.8000
Присваивание w(2jS) = о эквивалентно последовательности команд
w(2) - 0; w(3) = 0; w(4) = 0; w(5) = 0; w[6) = 0,
Индексация при помощи двоеточия оказывается удобной при выделении части из большого объема данных в новый массив: