8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 333 334 335 336 337 338 339 ... 365

Например, пусть в файле table.dat хранится информация:

book part 4 pages4 00 article part2 pages20

Общие части полей part и pages, не подлежащие считыванию, указываются перед соответствующими спецификаторами:

» [kind, s, р] = textread(printed.dat1, %s part%d pages%d) kind =

1 book

article

s -

4

2

P =

40C 20

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

[...] = textread(.... paraml, valuel, param2, value2, ...) Возможно указание следующих параметров:

•whitespace — вектор из символов, которые считаются размечающими. Допустимы значения \ь (backspace), \f (form feed), \n (новая строка), \r (символ возврата каретки), \t (табуляция), \\ (обратная косая черта), \\ или V • (апостроф), %% (знак процента). По умолчанию установлен вектор 1 [\ь \r \n \t];

•delimiter — символы, использующиеся в качестве разделителя (по умолчанию не установлены);

•expchars — символы, применяемые для экспоненциальной записи чисел. По умолчанию eEdD*;

•bufsize — максимальная длина строки в байтах (по умолчанию 4095);

•headerlinea— число пропускаемых строк от начала файла при чтении;

•commentstyle — задание символов, определяющих пропуски при чтении. Возможны значения: matlab (игнорируются символы после %), shell (игнорируются символы после*), с (игнорируются символы между /* и */), с++ (игнорируются символы после //).


Функции для работы с массивами ячеек

Работа с массивами ячеек описана в разд. "Массивы ячеек" главы 8.

□cell — создание пустого массива ячеек заданного размера.

с = cell (п) — ячейки массива с размера п на п являются пустыми массивами. Возможно также создание прямоугольных массивов ячеек и массивов произвольной размерности: cell (m, n), cell (m, n, p, ...), например:

» A = ones(2, 6); » С = cell(size(A)) С =

L ] [ 1 [ 1 I 1 I 1 [ 1 [ ] -[ ] [ ] [ 1 [ 1 t 1

□ceiifun — применение функции к содержимому массива ячеек.

• а = ceiifun(fun, с)—вызов одной из нижеперечисленных функций от каждой ячейки массива с и запись результата в числовой массив а, .причем size (а) - size (С). Входной аргумент fun может быть:

О isreal — если содержимое ячейки состоит из вещественных чисел, то в соответствующий элемент а заносится единица, и ноль — в противном случае;

О 1 isempty" — если ячейка является пустым массивом, то в соответствующий элемент А заносится единица, и ноль — в противном случае;

О islogical — если ячейка является логическим массивом, то в соответствующий элемент а заносится единица, и ноль — в противном случае;

О length — элементы массива а, соответствующие каждой ячейке из с, принимают значения длин ячеек;

О ndims — число размерностей ячеек, в с помещаются в соответствующие элементы а;

О prodofsize — значения элементов массива а равны количеству элементов в ячейках массива с.

Пример использования cellfun:

» С = {ones(3, 5, 2) fsfhsfh,-. . .

rand(10) strvcat("alsd, hhh)}

С =

[ 3x5x2 double] fsfhsfh1 [10x10 double] [2x4 char]


» А = cellfun(prodofsize, С)

а =

307

1008

•а = cellfun (size, с, к)—в массиве а возвращаются размеры содержимого ячеек вдоль k-ой размерности, например, для определенного выше массива ячеек с:

» а = cellfun(size, с, 2) а =

57

104

•а» cellfun (isclass, С, classname) — логические единицы В массиве а соответствуют тем ячейкам, содержимое которых является объектом класса classname, Например, проверка ячеек инициализированного выше массива с на принадлежность классу char осуществляется так:

» а = cellfun(isclass, с, char)

а =

О1

01

Входной аргумент classname может также принимать значения double, sparse, struct, cell или являться именем класса, определенного пользователем.

□ ceiistr— преобразование массива символов в массив ячеек (работа с массивами символов описана в разд. "Массивы строк" главы 8).

с = ceiistr (strmas) — ячейки массива с образуются из строк массива символов strmas, пример:

>> strmas = [аааааа; bbbbbb; сссссс];

» С = ceiistr(strmas) С -

аааааа bbbbbb сссссс

О ceii2struct — преобразование массива ячеек в массив структур (работа с массивами структур описана в разд. "Массивы структур и массивы ячеек" главы 8).



0 ... 333 334 335 336 337 338 339 ... 365