Раздел: Документация
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
|