|
|
|||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||
| Вход | |||||||||||||||||||||||||||||||||
|
Раздел "MATLAB\MATLAB"
В.Г.Потемкин "Введение в Matlab" (v 5.3) В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель 7.3. Организация данных Массивы ячеек используются для объединения массивов данных разных типов и размеров. Массивы ячеек предпочтительнее массивов записей (структур) при следующих обстоятельствах:
Списки значений. Извлечение множественных данных из массивов записей и массивов ячеек осуществляется с помощью списков значений. Список значений для массива записей - это объединение одноименных полей S.name = [S(1).name S(2).name … S(end).name]. Список значений для массива ячеек - это объединение ячеек C{:} = [C{1} C{2} … C{end}]. Конструкции вида S(m:n).name, C{m:n} также представляют собой списки значений. Формы использования списков значений в различных конструкциях языка обобщены в следующей таблице:
Пример. C = {1 2 3 4} преобразование массива ячеек в числовой массив A = [C{:}] преобразование массива ячеек в трехмерный массив B = cat(3, C{:}) присвоение значений одному из полей массива записей [S(1:3).FIELD] = deal(5) Списки значений играют важную роль при задании входных и выходных аргументов М-функций переменной длины, а также в операциях преобразования массивов записей и массивов ячеек друг в друга и числовые массивы. Применение функций и операторов. Чтобы применить функции и операторы к содержимому ячеек, необходимо использовать индексацию и списки значений. Пример.
Для многих приложений наилучшей организацией данных является структура. Однако в тех случаях, когда, как правило, требуется доступ только к части полей. более предпочтительной может оказаться организация данных в виде массива ячеек, к которой проще применять индексирование:
newdata = TEST.measure
[newdata, name] = deal(TEST{1:2}) формируем числовой массив A размера 3х3: A = [0 1 2; 4 0 7; 3 1 2]
Оценим 2-норму матрицы А, используя функцию normest и запишем результат в 2 отдельные ячейки массива B: B = cell(1, 2); В первой ячейке B(1) содержится оценка нормы; во второй B(2) - количество итераций, потребовавшихся для вычислений. Пример. A{1, 1} = [1 2; 3 4];
Теперь применим функцию суммирования к массиву A{1, 1} B = sum(A{1, 1}) Чтобы применить функцию sum к содержимому ячеек, надо использовать цикл: for i = 1:length(A) В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель
|
|
Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
|
||
| На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro | ||
| E-mail: | ||
| Информация на сайте была обновлена 11.05.2004 |
Copyright 2001-2004 SoftLine Co Наши баннеры |
|