117
6 9
8 11
10 0
7 0
c5 = 6
Результат показывает, что заполнение новых матриц последовательно считываемыми элементами бинарного
файла осуществляется по столбцам. Недостающие элементы матриц заполняются нулями.
Примечание. Нетрудно заметить, что правильное считывание данных из бинарного файла
возможно только при условии, что заранее известно, в каком формате записаны
данные в этот файл.
Например, если считать данные в формате
float32, то получим:
F2=fopen('tst_dat.bin','rb');
[X2, c4]=fread(F2,[1,5],'float32')
[Y2, c5]=fread(F2,[4,3],'float32')
fclose(F2);
X2 = 0 1.8750 0 2.0000 0
c4 = 5
Y2 =
2.1250 2.3125 2.5000
0 0 0
2.2500 2.3750 2.5625
0 0 0
c5 = 12
что ни в коей мере не отражает записанные исходные данные.
3.3.3. Чтение и запись информации в текстовые файлы
Текстовые файлы данных отличаются от бинарных прежде всего тем, что информация в них содержится в виде
закодированных текстовых символов, т. е. в символьном виде. Отсюда и название таких файлов. В число
записываемых символов входят и такие явно не регистрируемые символы, как символ окончания строки,
перевода каретки, абзаца и др. Поэтому в
текстовые файлы данных записываются такие данные, которые
образуют некоторый сформированный текстовый фрагмент.
Текстовые файлы пригодны и для записи чисел, если предварительно преобразовать эти числа в символьное
представление. Мы уже сталкивались при знакомстве с MatLAB с символьным представлением чисел, когда
знакомились с тем, как выводятся числа в командное окно. Напомним, что в MatLAB
существуют такие
форматы символьного представления чисел: Short, ShortE, ShortG, Long, LongE, LongG, Hex, Bank, Plus и
Rational.
Остановимся прежде всего на записи и чтении числовых данных.
Запись данных в текстовый файл осуществляется применением функции
fprintf. Обращаться к ней следует в
форме:
fprintf('<имя_файла>','строка_ управляющих_символов',<ПЗВ> )
Здесь <имя_файла> - имя файла, в который записываются данные, <ПЗВ> - перечень записываемых величин
(они должны быть заданы (определены) до открытия файла для записи). Строка управляющих символов (она
должна быть заключена в апострофы) содержит информацию о том, в каком формате будут записываться
данные, указанные в <ПЗВ>. Она может содержать, помимо специальных
управляющих символов и
произвольные обычные символы. Тогда эти символы будут помещены между записываемыми данными.
К управляющим символам относятся:
%f
спецификатор, означающий, что очередная переменная, подлежащая записи в файл,
будет записана как действительное число в форме с фиксированной десятичной запятой;
между символами % и f могут быть записаны два целых числа и разделяющая их
точка; первое число задает полное количество символов, отводимых на запись числа,
второе – число символов после десятичной точки;
%g
спецификатор, осуществляющий запись числа в форме с плавающей десятичной
запятой;
%s
спецификатор, осуществляющий запись очередной символьной переменной;
\n
управляющая последовательность символов, означающая конец строки и перевод
каретки на следующую строку;
\t
вставка горизонтальной табуляции;
\r
перевод каретки на начало строки;
\b
возврат на один символ;