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, присваивая сохраненные значения идентификаторам eF, и 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Текст

С 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