|
|
|||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||
| Вход | |||||||||||||||||||||||||||||||||
|
Раздел "MATLAB\MATLAB"
В.Г.Потемкин "Введение в Matlab" (v 5.3) В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель 7.2. Извлечение данных Существует два способа извлечь данные из массива ячеек для передачи их либо в некоторый числовой массив, либо в новый массив ячеек:
Доступ к содержимому ячеек (индексация содержимого). Используя индексирование содержимого в правой части оператора присваивания можно получить доступ к некоторым или всем данным в одной ячейке. Определить переменную в левой части оператора присваивания, чтобы запомнить содержимое ячейки. Заключить индексное выражение в правой части оператора присваивания в фигурные скобки. Это будет означать, что присваивается содержимое ячеек, а не сами ячейки. Пример. N{1, 1} = [1 2; 4 5]; Строку, находящуюся в ячейке N{1, 2} можно извлечь следующим образом: c = N{1, 2} Для того чтобы извлечь содержимое из некоторого подмножества ячеек необходимо использовать конкатенацию индексных выражений. Пример. d = N{1, 1}(2, 2) Доступ к подмножеству ячеек (индексация ячеек). Используя индексацию ячеек, можно переназначить любой набор ячеек другой переменной для создания нового массива ячеек. Используя двоеточие, можно получить доступ к подмножествам ячеек внутри массива ячеек.
Рис. 7.5 Удаление и переопределение массива ячеек. Удаляя ячейки из масиива, можно уменьшить размерность массива, применяя единственный оператор присваивания. По аналогии с удалением обычного массива используйте индексацию вектора при удалении строки или столбца ячеек, присваивая пустую матрицу подмассиву: A(j : k ) = [ ] Таким образом, при удалении ячеек фигурные скобки вообще не применяются в операторах присваивания. Подобно обычным массивам с помощью функции reshape можно переопределять размеры массива ячеек, причем общее количество ячеек должно оставаться неизменным; с помощью функции reshape ни удалить, ни добавить ячеек нельзя. Пример. A = cell(3, 4)
size(A)
size(B) Описание списков переменных. Массивы ячеек могут быть использованы для замены следующих списков переменных:
Когда для индексирования многомерного массива ячеек используются двоеточие и фигурные скобки, то система MATLAB обрабатывает содержимое каждой ячейки как отдельную переменную. Пример. Допустим, существует массив ячеек T, в котором каждая ячейка содержит вектор; тогда выражение T{1:5} эквивалентно списку векторов из первых 5 ячеек массива T. Рассмотрим следующий массив ячеек C: C(1) = {[1 2 3]}; Используя функцию conv, найдем произведение полиномов, определяемых векторами (свертку векторов) из ячеек C(1) и C(2): d = conv(C{1:2}) Выведим на экран векторы из второй, третьей и четвертой ячеек C{2:4} Можно сформировать новый числовой массив, используя следующий оператор присваивания B = [C{1}; C{2}; C{4}]
Теперь используя индексацию содержимого в левой части оператора присваивания, можно создать новый массив, каждая ячейка которого представляет отдельный выход: [D{1:2}] = eig(B) Можно вывести на экран матрицы правых собственных векторов и собственных значений, используя ячейки D{1} и D{2}, соответственно. D{1}
D{2}
Замечание: Списки входов и выходов varargin и varargout позволяют использовать переменное количество входных и выходных аргументов. Эти списки являются массивами ячеек, что позволяет поддерживать разные размеры и типы данных. В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель
|
|
Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
|
||
| На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro | ||
| E-mail: | ||
| Информация на сайте была обновлена 11.05.2004 |
Copyright 2001-2004 SoftLine Co Наши баннеры |
|