Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Ячейки в MatLab
Ячейки также как и структуры могут содержать разные типы данных, объединенные одной переменной, но в отличии от вектора структур, вектор ячеек может менять тип данных в каждом элементе. Таким образом, вектор ячеек является универсальным контейнером – его элементы могут содержать любые типы и структуры данных, с которыми работает MatLab – векторы чисел любой размерности, строки, векторы структур и другие (вложенные) векторы ячеек. Методы создания вектора ячеек похожи на методы создания вектора структур. Как и в случае структур, векторы ячеек могут быть созданы либо путём последовательного присваивания значений отдельным элементам массива, либо созданы целиком при помощи специальной функции cell(). Однако в любом случае важно различать ячейку (элемент вектора ячеек) и её содержимое. Ячейка – это содержимое плюс некоторая оболочка (служебная структура данных) вокруг этого содержимого, позволяющая хранить в ячейке произвольные типы данных любого размера. Приведем пример создания вектора ячеек хранения разных типов данных. book = struct('title','Онегин','author','Пушкин','year',2000); Здесь задан вектор ячеек MyCell с тремя элементами. Первый элемент соответствует структуре, второй – строке, а третий – числу. В этом и заключается особенность организации данных с помощью ячеек: у каждого элемента свой тип данных. Для обращения к содержимому той или иной ячейки используются фигурные скобки, внутри которых ставится индекс элемента с которым предполагается работа: MyCell{1} выведет на экран title: 'Евгений Онегин' Если же используются круглые скобки, то будет возвращена структура данных вместо отдельных значений, например MyCell(1) выведет [1x1 struct] Для того чтобы задать вектор или матрицу ячеек с пустыми (неопределенными) значениями, используется функция cell() как показано ниже. MyCellArray = cell(2, 2); задается матрица размером 2х2. Данную инициализацию целесообразно выполнять когда нужно определить большой вектор или матрицу ячеек и в цикле задавать их значения. В этом случае MatLab сразу создает массивы нужных размеров, в результате чего повышается скорость выполнения программ. В заключении рассмотрим возможность программирования функции с произвольным числом аргументов благодаря использованию ячеек. Для этого в качестве аргумента функции указывается ключевое слово varargin, которое интерпретируется внутри функции как вектор ячеек с переданными аргументами: function len = SumSquare(varargin) Данная функция вычисляет сумму квадратов чисел, которые передаются ей следующим образом: SumSquare([ 1 2], [3 4]) % ответ 30 Таким образом, благодаря использованию ячеек функции SumSquare() можно передавать произвольное число двумерных векторов. Date: 2015-10-19; view: 296; Нарушение авторских прав |