Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Файлы: функции ввода/вывода > fscanfMat

fscanfMat

считывает матрицу из текстового файла

Последовательность вызова

M = fscanfMat(filename[, fmt]);
[M, text] = fscanfMat(filename [, fmt]);

Аргументы

filename

символьная строка, указывающая имя файла, который необходимо просканировать.

fmt

символьная строка, указывающая формат. Это необязательный параметр. Значение по умолчанию "%lg".

Поддерживаемый формат: %[width].[precision]type или %type, где:

width: необязательное число, которое определяет минимальное количество знаков на выходе;

precision: необязательное число, которое определяет максимальное количество знаков, выводимых для всех или части выходных полей, или минимальное количество цифр, выводимых для целочисленных значений.

type: lf, lg, d, i, e, f, g (см. scanf_conversion).

M

выходная переменная. Матрица вещественных чисел.

text

выходная переменная. Вектор-столбец строк. Это комментарии в начале файла с именем filename.

Описание

Функция fscanfMat используется для считывания вещественной матрицы из текстового файла с именем filename. Первые нечисловые строчки файла возвращаются в переменной text, если это запрошено, а все оставшиеся строчки должны иметь одинаковое количество столбцов (разделителем столбцов могут быть либо пробелы либо символы табуляции, если же есть и те и другие, то, по умолчанию, будут выбраны пробелы). Количество столбцов матрицы должно соответствовать количеству столбцов, обнаруженных в файле filename, а количество строк получается при обнаружении конца файла (EOF) во входном файле. Эта функция может быть использована для чтения числовых данных, сохранённых с помощью функции fprintfMat (по умолчанию в качестве разделителя используется пробел).

fscanfMat поддерживает файлы с кодировкой ANSI/ASCII и UTF-8.

Для чтения CSV-файлов, рекомендуется функция csvRead.

Примеры

fd = mopen(TMPDIR + "/Mat", "w");
mfprintf(fd, "Какой-то текст.....\n");
mfprintf(fd, "Ещё какой-то текст...\n");
a = rand(6,6);
for i = 1:6 ,
for j = 1:6, mfprintf(fd, "%5.2f ", a(i,j));end;
mfprintf(fd, "\n");
end
mclose(fd);
a1 = fscanfMat(TMPDIR + "/Mat")

A = ones(5,5) + 0.1;
fprintfMat(TMPDIR + "/Matrix.txt", A, "%lg");
B = fscanfMat(TMPDIR + "/Matrix.txt", "%lg");
A == B

C = [%nan, %inf, -%inf, 1];
fprintfMat(TMPDIR + "/MatrixNANINF.txt", C);
D = fscanfMat(TMPDIR + '/MatrixNANINF.txt')

Смотрите также

  • scanf_conversion — спецификации преобразования mscanf, msscanf, mfscanf
  • mclose — закрывает открытые файлы
  • meof — проверяет достигнут ли конец файла
  • mfprintf — преобразует, форматирует и записывает данные в файл
  • fprintfMat — записывает матрицу в файл
  • mfscanf — считывает входные данные из потока, указанного указателем потока (интерфейс с C-функцией fscanf)
  • mget — считывает байт или слово в заданном двоичном формате и преобразует в число удвоенной точности
  • mgetstr — считывает символьную строку из файла
  • mopen — открывает файл в Scilab'е
  • mprintf — converts, formats, and writes data to the main scilab window
  • mput — записывает байт или слово в заданном двоичном формате
  • mputstr — записывает символьную строку в файл
  • mseek — устанавливает текущую позицию в двоичном файле
  • mtell — возвращает смещение текущего байта относительно начала файла
  • mdelete — удаляет файлы
  • csvRead — Read comma-separated value file
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 14:01:08 CEST 2014