input
Интерактивный вход объектов
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
input(<prompt1
>) input(<prompt1
>,x1
,<prompt2>, x2, …
)
input
позволяет интерактивный вход объектов MuPAD®.
input()
отображает быстрый “Please enter expression:
” и ожидает входа пользователем. Вход, отключенный путем нажатия клавиши Return, проанализирован и возвращен unevaluatedly.
input(prompt1)
использует символьную строку prompt1
вместо быстрого “Please enter expression:
” по умолчанию.
input( prompt1 x1)
присваивает вход идентификатору или локальной переменной x1
. Подсказка по умолчанию используется, если никакая строка приглашения не задана.
Несколько объектов могут быть считаны с одной командой input
. Каждый идентификатор или переменная в последовательности аргументов заставляют input
возвратить подсказку, ожидающую входа, который будет присвоен ему. Символьная строка, предшествующая идентификатору или переменной в последовательности аргумента, заменяет подсказку по умолчанию (см. Пример 2). Проигнорированы аргументы, которые не являются ни строками приглашения, ни идентификаторами или переменными.
Идентификаторы или переменные x1
и т.д. могут иметь значения. Они перезаписываются input
.
input
только анализирует входные объекты для синтаксической правильности. Это не оценивает их. Используйте eval
, чтобы оценить результаты (см. Пример 3).
Подсказка по умолчанию отображена. Вход возвращен без оценки:
input()
Please enter expression: << 1 + 2 >>
Символьная строка используется в качестве подсказки:
input("enter a number: ")
enter a number: << 5 >>
Вход может быть присвоен идентификатору:
input(x)
Please enter expression: << 5 >>
x
Пользовательская подсказка используется, вход присвоен идентификатору:
input("enter a number: ", x)
enter a number: << 6 >>
x
delete x:
Если несколько объектов состоят в том, чтобы быть считаны для каждого объекта может быть задана, отдельная подсказка:
input("enter a matrix: ", A, "enter a vector: ", x)
enter a matrix: << matrix([[a11, a12], [a21, a22]]) >>
enter a vector: << matrix([x1, x2]) >>
matrix([x1, x2])
A, x
delete A, x:
Следующая процедура просит выражение и переменную. После интерактивного входа вычисляется производная выражения относительно переменной:
interactiveDiff := proc() local f, x; begin f := input("enter an expression: "); x := input("enter an identifier: "); print(Unquoted, "The derivative of " . expr2text(f) . " with respect to ". expr2text(x) . " is:"); diff(f, x) end_proc:
interactiveDiff()
enter an expression: << x^2 + x*y^3 >>
enter an identifier: << x >>
The derivative of x^2 + x*y^3 with respect to x is:
Функциональный input
не оценивает вход. Это приводит к следующему неожиданному результату:
f := x^2 + x*y^3: z := x: interactiveDiff()
enter an expression: << f >>
enter an identifier: << z >>
The derivative of f with respect to z is:
Следующая модификация осуществляет полную оценку через eval
:
interactiveDiff := proc() local f, x; begin f := eval(input("enter an expression: ")); x := eval(input("enter an identifier: ")); print(Unquoted, "The derivative of " . expr2text(f) . " with respect to ". expr2text(x) . " is:"); diff(f, x) end_proc:
interactiveDiff()
enter an expression: << f >>
enter an identifier: << z >>
The derivative of x^2 + x*y^3 with respect to x is:
delete interactiveDiff, f, z:
|
Входные подсказки: символьные строки |
|
В последний раз вход
finput
| fprint
| fread
| ftextinput
| import::readbitmap
| import::readdata
| print
| read
| text2expr
| textinput
| write