Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебно-Технологический_Практикум_УТС.Б_5.pdf
Скачиваний:
146
Добавлен:
09.02.2015
Размер:
584.23 Кб
Скачать

FREAD - чтение двоичного файла

Синтаксис:

[A, COUNT] = FREAD(FID,SIZE,PRECISION) выполняет чтение двоичных данных в матрицу A. Аргумент COUNT возвращает число успешно считанных элементов.

FID – идентификатор файла из FOPEN.

Аргумент SIZE не обязательный. По умолчанию выполняется чтение всех данных. Допустимые значения SIZE:

N читает N элементов в вектор-столбец. inf читает до конца файла.

[M,N] считывает элементы по столбцам для заполнения M-by-N матрицы.Допустимо задавать число столбцов N как inf.

Аргумент PRECISION определяет число бит для представления данных:

 

 

 

 

 

 

 

 

MATLAB

C или

Описание

 

 

 

 

Fortran

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'uchar'

'unsigned

unsigned

 

 

 

 

char'

character, 8

 

 

 

 

 

 

bits.

 

 

 

 

 

 

 

 

 

'schar'

'signed

signed

 

 

 

 

char'

character, 8

 

 

 

 

 

 

bits.

 

 

 

 

 

 

 

 

 

'int8'

'integer*1'

integer, 8

 

 

 

 

 

 

bits.

 

 

 

 

 

 

 

 

 

'int16'

'integer*2'

integer, 16

 

 

 

 

 

 

bits.

 

 

 

 

 

 

 

 

 

'int32'

'integer*4'

integer, 32

 

 

 

 

 

 

bits.

 

 

 

 

 

 

 

 

 

'int64'

'integer*8'

integer, 64

 

 

 

 

 

 

bits.

 

 

 

 

 

 

 

 

 

'uint8'

'integer*1'

unsigned

 

 

 

 

 

 

integer, 8

 

 

 

 

 

 

bits.

 

 

 

 

 

 

 

 

 

'uint16'

'integer*2'

unsigned

 

 

 

 

 

 

integer, 16

 

 

 

 

 

 

bits.

 

 

 

 

 

 

 

 

 

'uint32'

 

'integer*4'

 

unsigned

 

 

 

 

 

 

integer, 32

 

 

 

 

 

 

bits.

 

 

 

 

 

 

 

 

 

'uint64'

'integer*8'

unsigned

 

 

 

 

 

 

integer, 64

 

 

 

 

 

 

bits.

 

 

 

 

 

 

 

 

 

'single'

'real*4'

floating point,

 

 

 

 

 

 

32 bits.

 

 

 

 

 

 

 

 

 

'float32'

'real*4'

floating point,

 

 

 

 

 

 

32 bits.

 

 

 

 

 

 

 

 

 

'double'

'real*8'

floating point,

 

 

 

 

 

 

64 bits.

 

 

 

 

 

 

 

 

 

'float64'

'real*8'

floating point,

 

 

 

 

 

 

64 bits.

 

 

 

 

 

 

 

 

TEXTREAD - чтение форматированных данных из текстового файла

Синтаксис:

[A,B,C,...] = TEXTREAD(FILENAME,FORMAT,N) - читает данные из текстового файла FILENAME в переменные A,B,C,…. Число и тип возвращаемых аргументов определяется форматной строкой FORMAT Форматная строка FORMAT поддерживает подмножество спецификаторов преобразования функции FSCANF языка C . Если параметр N определен, то форматная строка примемяется к данным N раз. Если N меньше нуля TEXTREAD читает весь файл - по умолчанию. Строка FORMAT может содержать символы обобщенных пробелов, обычные символы или символы спецификаторов преобразования:

%d - знаковое целое(output is a double array) %u - целое (output is a double array)

%f - число с плавающей точкой (output is a double array) %s - строки , разделяемые пробелами(output is a cellstr)

%q - строки, ограниченные двойными кавычками(output is a cellstr) %c - символы, включая символы пробелов (output is char array) %[...] - наибольшая строка, содержащая символы из множества, ограниченного скобками (output is a cellstr)

%[^...] - наибольшая строка,не содержащая символы из множества, ограниченного скобками (output is a cellstr)

Использование %* вместо % в спецификаторах заставляет TEXTREAD пропускать совпадающие символы . Ширина считываемых полей

регулируется для целых и действительных данных: Например, %5d читает 5 целое из 5 цифр. Формат %f поддерживает форму %<ширина>.<точность>f.

[...] = TEXTREAD(...,param,value,...) позволяют парами param/value

определять поведение TEXTREAD.

Допустимые param/value:

'whitespace' - вектор символов обобщенных пробелов (по умолчанию ' \b\r\n\t')

'delimiter' - разделители (по умолчанию - нет)

'expchars' - символы представления експоненциальной формы (по умолчанию 'eEdD')

'bufsize' - максимальная длина строки в байтах(по умолчанию 4095) 'headerlines' - число пропускаемых строк

'commentstyle' – стиль комментария: 'matlab' -- символы после % игнорируются 'shell' -- символы после # игнорируются 'c' -- символы между /* and */ игнорируются 'c++' -- символы после // игнорируются

Примеры:

Допустим, что текстовый файл data.txt содержит:

Sally Type1 12.34

45

Yes

Joe

Type2 23.54

60

No

Bill

Type1 33.90

12

No

Команда чтения из такого файла может иметь вид: [names,types,x,y,answer] = textread('data.txt','%s %s %f %d %s');

Чтение с текстовым литералом: [names,typenum,x,y,answer]=textread('data.txt','%s Type%d %f %d %s');

Чтение файла в фиксированном формате с пропуском пар чисел: [names,types,y,answer] = textread('data.txt','%9c %5s %*f %2d %3s');

Чтение М-файла в массив ячеек-строк.

file = textread('ex1break.m','%s','delimiter','\n','whitespace','');