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).

Примеры

Пример 1

Подсказка по умолчанию отображена. Вход возвращен без оценки:

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:

Пример 2

Если несколько объектов состоят в том, чтобы быть считаны для каждого объекта может быть задана, отдельная подсказка:

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:

Пример 3

Следующая процедура просит выражение и переменную. После интерактивного входа вычисляется производная выражения относительно переменной:

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:

Параметры

prompt1, prompt2, …

Входные подсказки: символьные строки

x1, x2, …

идентификаторы или локальные переменные

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

В последний раз вход

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

Функции MuPAD