Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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
Report an issue | ||
<< fprintfMat | Файлы: функции ввода/вывода | getmd5 >> |