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 mclose meof mfprintf fprintfMat mfscanf mget mgetstr mopen mprintf mput mputstr mseek mtell mdelete csvRead