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