fprint

Запишите данные к файлу

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

fprint(<Unquoted | NoNL>, <Bin | Text>, <Encoding = "encodingValue">, filename, <object1, object2, …>)
fprint(<Unquoted | NoNL>, <Encoding = "encodingValue">, n, <object1, object2, …>)

Описание

fprint(f, objects) пишет, что MuPAD® возражает против файла f. Объекты оценены, результаты хранятся в файле. Эти данные могут быть считаны в другой сеанс MuPAD через функции finput и ftextinput, соответственно.

fprint(Encoding = "encodingValue", f, objects) использует заданное кодирование. Для поддерживаемой кодировки см. Опции.

Файл может быть задан непосредственно его именем. В этом случае fprint создает новый файл или перезаписывает существующий файл. fprint открывает и закрывает файл автоматически.

Если WRITEPATH не имеет значения, fprint интерпретирует имя файла как путь относительно “рабочей папки”.

Обратите внимание на то, что значение “рабочей папки” зависит от операционной системы. В системах Windows® и в системах Mac OS X, “рабочая папка” является папкой, где MATLAB® установлен. В системах UNIX® это - текущая рабочая папка, в которой был запущен MATLAB; когда запущено с меню или настольного элемента, это обычно - домашняя папка пользователя.

Также абсолютные пути обрабатываются fprint.

Если имя файла, данное концы в “.gz”, MuPAD автоматически записывает сжатый файл в формате gzip. Эти файлы являются прозрачно несжатыми, когда считано в снова MuPAD. Формат gzip поддерживается многими другими программами также. Смотрите Пример 5.

Вместо имени файла также может использоваться дескриптор файла файла, открытого через fopen. Смотрите Пример 2. В этом случае данные, записанные fprint, добавлены к соответствующему файлу. Файл не закрывается автоматически fprint и должен быть закрыт последующим вызовом fclose.

Обратите внимание на то, что fopen (filename) открывает файл в режиме только для чтения. Последующая команда fprint к этому файлу вызывает ошибку. Используйте Write или опцию Append fopen, чтобы открыть файл для записи.

Примечание

  Дескриптор файла 0 представляет экран. Смотрите Пример 4.

Вывод текста происходит без Симпатичного Принтера. Вызов fprint пишет все заданные объекты в одну строку текстового файла. Символ новой строки добавлен к этой строке, если опция NoNL не используется. По умолчанию записанные объекты разделяются двоеточиями без дальнейшего пробела. Получившиеся текстовые данные состоят из синтаксически правильного кода MuPAD и могут быть считаны снова с помощью finput. С опциями Unquoted и NoNL, никакой пробел никакие двоеточия не вставляются, чтобы разделить объекты. Получившиеся текстовые данные не могут быть считаны снова с помощью finput. Смотрите Пример 3.

Взаимодействия среды

Функция чувствительна к переменной окружения WRITEPATH. Если эта переменная имеет значение, файл создается в соответствующей папке. В противном случае файл создается в “рабочей папке”.

Примеры

Пример 1

Запишите некоторые данные в файл “test”. По умолчанию этот файл создается как двоичный файл:

fid := fopen(TempFile, Write, Text):
d := 5:
fprint(fid, d, d*3):
file := fname(fid):
fclose(fid)

Файл читается в сеанс MuPAD:

finput(file, e, f): d, e, f;

delete d, e, f:

Пример 2

Используйте дескриптор файла, чтобы получить доступ к файлу test. Несколько вызовов fprint добавляют данные к файлу:

n := fopen(file, Write): 
fprint(n, (d := 5), d*3): 
fprint(n, "more data"):

Используя дескриптор файла, вызовите fclose, чтобы закрыть файл:

fclose(n):

Файл читается в сеанс MuPAD, присваивая сохраненные значения идентификаторам e, f и g:

finput(file, e, f, g ): e, f, g;

delete n, d, e, f, g:

Пример 3

С опцией Unquoted символьные строки записаны без кавычек:

fid1 := fopen(TempFile):
fid2 := fopen(TempFile):
file1 := fname(fid1):
file2 := fname(fid2):
fprint(Text, file1, "Hello World!", MuPAD + 1):
fprint(Unquoted, Text, file2, "Hello World!", MuPAD + 1):

Создает временные файлы, имеют следующее содержимое:

"Hello World!":MuPAD + 1:

Hello World!MuPAD + 1

Используйте finput или ftextinput, чтобы считать данные из файла:

finput(file1, a, b):
a, b;

ftextinput(file2, c): c

delete a, b, c:

Пример 4

Как правило, print функционирует подачи для отображения объектов на экране. Если объект продолжает линию, которая более длинна, чем установка TEXTWIDTH, пропуски print, что строка в более короткие строки и вставляет символы продолжения строки. Чтобы постараться не вставлять символы продолжения строки, отобразите длинные объекты на экране при помощи функции fprint с дескриптором файла 0. Например, преобразуйте следующее выражение в отформатированную строку TeX. Когда вы используете функцию print, получившая строка содержит символ продолжения строки (\):

print(Unquoted, generate::TeX(diff(1/ln(1/x), x$4)))
\frac{22}{x^4\,{\ln\left(\frac{1}{x}\right)}^3}-\frac{6}{x^4\,{\ln\left(\
\frac{1}{x}\right)}^2}-\frac{36}{x^4\,{\ln\left(\frac{1}{x}\right)}^4}+\fr\
ac{24}{x^4\,{\ln\left(\frac{1}{x}\right)}^5}

Если вы хотите использовать сгенерированную строку в TeX, необходимо удалить эти дополнительные символы. Кроме того, можно сгенерировать строку без этих символов при помощи функции fprint:

fprint(Unquoted, 0, generate::TeX(diff(1/ln(1/x), x$4)))
\frac{22}{x^4\,{\ln\left(\frac{1}{x}\right)}^3}-\frac{6}{x^4\,{\ln\left(\frac{1}{x}\right)}^2}-\frac{36}{x^4\,{\ln\left(\frac{1}{x}\right)}^4}+\frac{24}{x^4\,{\ln\left(\frac{1}{x}\right)}^5}

Другой способ избежать символов продолжения строки состоит в том, чтобы увеличить установку TEXTWIDTH:

defaultWidth := TEXTWIDTH:
TEXTWIDTH := 250:
print(Unquoted, generate::TeX(diff(1/ln(1/x), x$4)));
TEXTWIDTH := defaultWidth:
\frac{22}{x^4\,{\ln\left(\frac{1}{x}\right)}^3}-\frac{6}{x^4\,{\ln\left(\frac{1}{x}\right)}^2}-\frac{36}{x^4\,{\ln\left(\frac{1}{x}\right)}^4}+\frac{24}{x^4\,{\ln\left(\frac{1}{x}\right)}^5}

Пример 5

При записи в файл с именем, заканчивающимся в “.gz”, MuPAD автоматически создает сжатый файл. В системе UNIX команда file может использоваться, чтобы проверить это:

fprint(Text, "test.gz", "test"):
system("file test.gz"):
test.gz: gzip compressed data, from Unix

Чтение файла от MuPAD не показывает различие, потому что gzip-сжатые-файлы являются автоматически несжатыми в памяти MuPAD:

ftextinput("test.gz")

Пример 6

Чтобы задать кодирование, чтобы записать данные, используйте Encoding. Опция Encoding применяется только к текстовым файлам, которые открыты с помощью имени файла и не дескриптора файла. Создайте файл и напишите строке "abcäöü" в кодировании "UTF-8":

fprint(Unquoted, Text, Encoding="UTF-8", "fprint_test", "abcäöü"):

Используйте ftextinput, чтобы считать данные с заданным кодированием:

ftextinput("fprint_test", Encoding="UTF-8")

Если вы не задаете кодирование, системное кодирование по умолчанию используется. Таким образом ваш вывод может отличаться от показанного затем. Символы, нераспознанные системным кодированием по умолчанию, заменяются символом замены по умолчанию для того кодирования:

fprint(Unquoted, Text, "fprint_test", "abcäöü"):
ftextinput("fprint_test")

Параметры

filename

Имя файла: символьная строка

object1, object2, …

Произвольные объекты MuPAD

n

Дескриптор файла обеспечивается fopen: неотрицательное целое число

Опции

Unquoted

При использовании этой опции символьные строки отображены без кавычек. Кроме того, управляющие символы '\n' (или '\r\n' в Windows), '\t' и '\\' в строках расширены в новую строку, пропуск табулятора и одну наклонную черту влево \, соответственно. Кроме того, никакие двоеточия не вставляются между объектами. Символ новой строки добавлен к строке, записанной fprint.

Эта опция важна для текстовых файлов только. Это полезно для записывания файлов пользовательского форматированного текста. Данные, записанные с этой опцией, не могут быть считаны снова через finput.

NoNL

Эта опция имеет ту же функциональность как Unquoted с единственной разницей, что никакой символ новой строки не добавлен к строке, записанной fprint.

Bin, Text

С Bin данные хранятся в двоичном формате MuPAD. С Text используется стандартный формат ASCII. Значением по умолчанию является Bin.

Encoding

Эта опция позволяет вам задать кодировку символов, чтобы использовать. Позволенная кодировка:

"Big5"

"ISO-8859-1"

"windows-932"

"EUC-JP"

"ISO-8859-2"

"windows-936"

"GBK"

"ISO-8859-3"

"windows-949"

"KSC_5601"

"ISO-8859-4"

"windows-950"

"Macintosh"

"ISO-8859-9"

"windows-1250"

"Shift_JIS"

"ISO-8859-13"

"windows-1251"

"US-ASCII"

"ISO-8859-15"

"windows-1252"

"UTF-8"

 

"windows-1253"

  

"windows-1254"

  

"windows-1257"

Кодировка по умолчанию системно-зависима. Если вы задаете кодирование неправильно, символы могут читать неправильно. Символы, нераспознанные кодированием, заменяются символом замены по умолчанию для заданного кодирования.

Кодировка, не перечисленная здесь, может быть задана, но не может привести к правильным результатам.

Возвращаемые значения

Пустой объект типа DOM_NULL.

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

Функции MuPAD