Система математических расчетов MATLAB

Методическое пособие - Компьютеры, программирование

Другие методички по предмету Компьютеры, программирование

Скачать Бесплатно!
Для того чтобы скачать эту работу.
1. Пожалуйста введите слова с картинки:

2. И нажмите на эту кнопку.
закрыть



МАССИВЫ ЯЧЕЕК

 

Массивы ячеек это массивы данных системы MATLAB элементы которых являются ячейка-ми и могут служить хранилищами для других массивов данных. Например, одна ячейка массива ячеек может содержать матрицу действительных чисел, другая ячейка массив тек-стовых строк, а третья вектор комплексных значений.

 

 

Вы можете конструировать массивы ячеек любых допустимых размерностей и форм, вклю-чая многомерные массивы ячеек.

 

Создание массивов ячеек

Вы можете создавать массивы ячеек двумя способами:

  • Используя операторы присваивания.
  • Используя функцию cell, а затем назначая данные созданных ячеек.

 

Применение операторов присваивания

Вы можете создать массив ячеек путем присваивания данных индивидуальным ячейкам, по одной ячейке за один раз. MATLAB при этом автоматически создает требуемый массив яче-ек. Существуют два способа индексации данных ячеек:

  • Индексация ячеек

Заключите индексы ячейки в обычные скобки с использованием стандартной индексации массивов. Заключите содержимое ячейки в правой стороне оператора присваивания в фигур-ные скобки “{}”. Например, создадим массив ячеек А размера 2х2.

 

A(1,1) = {[1 4 3; 0 5 8; 7 2 9]};

A(1,2) = {Anne Smith};

A(2,1) = {3+7i};

A(2,2) = {pi:pi/10:pi};

 

Внимание! Запись “{}” обозначает пустой массив ячеек, точно так же как “[ ]” обозначает пустую матрицу для числовых массивов. Вы можете использовать пустой массив ячеек в лю-бых выражениях с массивами ячеек.

 

  • Индексация содержимого ячеек

Заключите индексы ячейки в фигурные скобки, применяя стандартные обозначения масси-вов. Задайте содержимое ячейки в правой части оператора присваивания в обычном виде.

 

A{1,1} = [1 4 3; 0 5 8; 7 2 9];

A{1,2} = Anne Smith;

A{2,1} = 3+7i;

A{2,2} = pi:pi/10:pi;

 

Различные примеры, приведенные ниже, используют оба приведенных синтаксиса. Обе фор-мы записи являются вполне взаимозаменяемыми.

 

Внимание! Если вы уже имеете числовой массив с заданным именем, не пытайтесь создать массив ячеек с помощью операторов присваивания, не уничтожив предаврительно числовой массив. Если вы не очистите числовой массив, MATLAB примет, что вы пытаетесь сме-шать синтаксисы ячеек и числовых массивов и выдаст сообщение об ошибке.

 

MATLAB выводит содержимое массива ячеек на дисплей в сжатой форме. Для нашего мас-сива А мы получим.

 

A =

[3x3 double] Anne Smith

[3.0000+ 7.0000i] [1x21 double]

 

Для вывода полного содержания ячеек, нужно воспользоваться функцией celldisp. Для гра-фического вывода на дисплей архитектуры ячейки служит функция cellplot. Если вы назна-чаете данные ячейке, которая находится вне размерности имеющегося массива ячеек, MATLAB автоматически расширяет массив, чтобы включить заданный вами элемент. При этом промежуточные ячейки заполняются пустыми матрицами. Например, приведенный ни-же оператор присваивания превращает массив ячеек А размера 2х2 в массив размера 3х3.

 

A(3,3) = {5};

 

Все остальные ячейки третьего столбца и третьей строки при этом будут содержать пустые матрицы.

 

 

 

Использование фигурных скобок для построения массивов ячеек

Фигурные скобки, “{}”, являются такими же конструктурами массивов ячеек, как квадрат-ные скобки являются конструкторами числовых массивов. Фигурные скобки используются совершенно аналогично квадратным скобкам, за тем исключением, что их можно использо-вать для вложения массивов ячеек (см. ниже).

При конструировании массивов с использованием фигурных скобок нужно использовать пробелы или запятые для разделения столбцов, и точки с запятой для разделения строк. На-пример, ввод

 

C = {[1 2], [3 4]; [5 6], [7 8]};

 

приводит к следующему массиву ячеек размера 2х2

 

 

Для объединения отдельных массивов ячеек в новые массивы, вы можете использовать квадратные скобки, как и при объединении числовых массивов.

 

Задание массивов ячеек при помощи функции cell

Функция cell позволяет создавать пустые массивы ячеек заданного размера. Например, сле-дующее выражение создает пустоймассив ячеек размера 2х2.

 

B = cell(2, 3);

 

Для заполнения ячеек массива В нужно прменить операторы присваивания:

 

B(1,3) = {1:3};

 

Доступ к данным массивов ячеек

Вы можете извлекать данные из массивов ячеек или же запоминать данные в имеющемся или вновь созданном массиве ячеек двумя способами:

  • Использованием индексации содержимого ячеек при помощи обычных индексов.
  • Использованием индексов, заключенных в фигурные скобки.

 

Доступ к данным массивов ячеек с использованием фигурных скобок

Вы можете использовать индексирование содержимого в правой части выражения для обра-щения ко всем данным в какой-либо отдельной ячейке. Для этого в левой части выражения следует задать переменную для записи содержимого ячейки. Заключите индексы ячеек в фигурные скобки. Это означает, что вы обращаетесь к содержимому ячейки. Рассмотрим следующи

s