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
. Если эта переменная имеет значение, файл создается в соответствующей папке. В противном случае файл создается в “рабочей папке”.
Запишите некоторые данные в файл “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:
Используйте дескриптор файла, чтобы получить доступ к файлу 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:
С опцией 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:
Как правило, 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}
При записи в файл с именем, заканчивающимся в “.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")
Чтобы задать кодирование, чтобы записать данные, используйте 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")
|
Имя файла: символьная строка |
|
Произвольные объекты MuPAD |
|
Дескриптор файла обеспечивается |
|
При использовании этой опции символьные строки отображены без кавычек. Кроме того, управляющие символы Эта опция важна для текстовых файлов только. Это полезно для записывания файлов пользовательского форматированного текста. Данные, записанные с этой опцией, не могут быть считаны снова через | ||||||||||||||||||||||||||||||
|
Эта опция имеет ту же функциональность как | ||||||||||||||||||||||||||||||
|
С | ||||||||||||||||||||||||||||||
|
Эта опция позволяет вам задать кодировку символов, чтобы использовать. Позволенная кодировка:
Кодировка по умолчанию системно-зависима. Если вы задаете кодирование неправильно, символы могут читать неправильно. Символы, нераспознанные кодированием, заменяются символом замены по умолчанию для заданного кодирования. Кодировка, не перечисленная здесь, может быть задана, но не может привести к правильным результатам. |
Пустой объект типа DOM_NULL
.