Раздел: Документация
0 ... 32 33 34 35 36 37 38 ... 365 Обратной задачей к конструированию блочных матриц является выделение блоков. Выделение блоков Выделение блоков матриц осуществляется индексацией при помощи двоеточия, которая уже использовалась в предыдущих разделах для выделения блоков из векторов. Введите матрицу
I9 2 3 5) затем выделите очерченный блок, задав номера строк и столбцов при помощи двоеточия: » Р1 = Р(2:3,2:3) Р1 = 1012 1110 Для выделения из матрицы столбца или строки (т. е. массива, у которого один из размеров равен единице) следует в качестве одного из индексов использовать номер столбца или строки матрицы, а другой индекс заменить на двоеточие без указания пределов. Например, запишите вторую строку Р в вектор р » р = Р(2, :) Р = 4 10 12 5 При выделении блока до конца матрицы можно не указывать ее размеры, а использовать end: » р = Р{2, 2:end) Р = 10 12 5 Удаление строк и столбцов Как уже было сказано, в MATLAB парные квадратные скобки [ ] обозначают пустой массив, который, в частности, позволяет удалять строки и столбцы матрицы. Для удаления строки следует присвоить ей пустой массив. Удалите, например, первую строку квадратной матрицы: » м = [2 0 3 114 6 1 3]; » М{1, :) = []; » м К = 114 6 13 Обратите внимание на соответствующее изменение размеров массива, которое можно посмотреть в окне Workspace или проверить при помощи size. Аналогичным образом удаляются и столбцы. Для удаления нескольких идущих подряд столбцов (или строк) им нужно присвоить пустой массив. Удалите второй и третий столбец в м » м{:, 2:3) = [ ] м = 1 6 Индексация существенно экономит время при вводе матриц, имеющих определенную структуру. Заполнение матриц при помощи индексации Выше было описано несколько способов ввода матриц в MATLAB, в том числе считывание из файла и использование редактора массивов. Однако если матрица обладает простой структурой, то бывает проще сгенерировать ее, чем вводить. Рассмотрим пример такой матрицы:
Генерация матрицы Т осуществляется в три этапа: \. Создание массива т размера пять на пять, состоящего из нулей. 2. Заполнение первой строки единицами. 3. Заполнение части последней строки минус единицами до последнего элемента. Соответствующие команды MATLAB приведены ниже (они записаны в три колонки с целью экономии места, но набирать их надо последовательно). Команды не завершаются точкой с запятой для вывода промежуточных результатов в командное окно с целью слежения за процессом формирования матрицы » А(1:5, 1:5) =0» А(1, :) = 1» A(end, 3:end) = -1 А =А =А - 000001111111111 000000000000000 000000000000000 000000000000000 000000000000-1-1-1 Создание некоторых специальных матриц в MATLAB осуществляется при помощи встроенных функций. Создание матриц специального вида Заполнение прямоугольной матрицы нулями производится встроенной функцией zeros, аргументами которой являются число строк и столбцов матрицы: » А = zeros(3, б) А = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Один аргумент функции zeros приводит к образованию квадратной матрицы заданного размера: » А = zeros(3) А = 0 0 0 0 0 0 ооо Единичная матрица инициализируется при помощи функции eye: » I = еуе(4) 0 ... 32 33 34 35 36 37 38 ... 365
|