evalp

Оцените полином в точке

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

evalp(p, x = v, …)
evalp(p, [x = v, …])
evalp(f, <vars>, x = v, …)
evalp(f, <vars>, [x = v, …])

Описание

evalp(p, x = v) оценивает полиномиальный p в переменной x в точке v.

Ошибка происходит, если x не является неопределенным из p. v значения может быть любым объектом, который мог также использоваться в качестве коэффициента. Результатом является элемент содействующего звонка p, если p является одномерным. Если p многомерен, результатом является полином в остающихся переменных.

Если несколько точек оценки даны, оценки происходят по очереди слева направо. Каждая оценка следует правилам выше.

Для полиномиального p в переменных x1,x2,... синтаксис p(v1,v2,...) может использоваться вместо evalp(p, x1 = v1, x2 = v2, ...).

evalp(f, vars, x = v, ...) сначала преобразовывает многочленное выражение f в полином с переменными, данными vars. Если никакие переменные не даны, они разыскиваются в f. Смотрите poly о деталях преобразования. FAIL возвращен, если f не может быть преобразован в полином. Успешно конвертированный полином оценен как выше. Результат преобразован в выражение.

Правило Горнера использовано, чтобы оценить полином. Оценка переменных в точке 0 является самым эффективным и должен произойти сначала. После этого остающаяся основная переменная должна быть оценена сначала.

Результат evalp не оценен далее. Можно использовать eval, чтобы полностью оценить результат.

Вместо evalp(p, x1 = v1, x2 = v2, ...) можно также использовать эквивалентную форму evalp(p, [x1 = v1, x2 = v2, ...]).

Примеры

Пример 1

evalp используется, чтобы выполнить многочленное выражение x 2 + 2 x + 3 в точке x = a + 2. Форма получившегося выражения отражает то, что правило Горнера было использовано:

evalp(x^2 + 2*x + 3, x = a + 2)

Пример 2

evalp используется, чтобы оценить полином в indeterminates x и y в точке x = 3. Результатом является полином в остающемся неопределенном y:

p := poly(x^2 + x*y + 2, [x, y]): evalp(p, x = 3)

delete p:

Пример 3

Полиномы могут быть названы как функции в порядке оценить все переменные:

p := poly(x^2 + x*y, [x, y]): evalp(p, x = 3, y = 2) = p(3, 2)

delete p:

Пример 4

Если не все переменные заменяются значениями, результатом является полином в остающихся переменных:

evalp(poly(x*y*z + x^2 + y^2 + z^2, [x, y, z]), x = 1, y = 1)

Пример 5

Результат evalp не оценен далее. Мы сначала задаем полиномиальный p с коэффициентом a и затем изменяем значение a. Изменение не отражается p, потому что полиномы не оценивают свои коэффициенты неявно. Нужно сопоставить функциональный eval на коэффициенты в порядке осуществить оценку:

p := poly(x^2 + a*y + 1, [x,y]): a := 2:
p, mapcoeffs(p, eval)

Если мы используем evalp, чтобы оценить p в точке x = 1, результат не полностью оценен. Нужно использовать eval, чтобы получить полностью оцененные коэффициенты:

r := evalp(p, x = 1):
r, mapcoeffs(r, eval)

delete p, a, r:

Параметры

p

Полином типа DOM_POLY

x

Неопределенное

v

Значение для x: элемент содействующего звонка полинома

f

Многочленное выражение

vars

Список indeterminates полинома: обычно, идентификаторы или индексированные идентификаторы

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

Элемент содействующего звонка, или полином, или многочленное выражение или FAIL

Перегруженный

fp

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

Функции MuPAD