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, ...])
.
evalp
используется, чтобы выполнить многочленное выражение x 2 + 2 x + 3 в точке x = a + 2. Форма получившегося выражения отражает то, что правило Горнера было использовано:
evalp(x^2 + 2*x + 3, x = a + 2)
evalp
используется, чтобы оценить полином в indeterminates x и y в точке x = 3. Результатом является полином в остающемся неопределенном y:
p := poly(x^2 + x*y + 2, [x, y]): evalp(p, x = 3)
delete p:
Полиномы могут быть названы как функции в порядке оценить все переменные:
p := poly(x^2 + x*y, [x, y]): evalp(p, x = 3, y = 2) = p(3, 2)
delete p:
Если не все переменные заменяются значениями, результатом является полином в остающихся переменных:
evalp(poly(x*y*z + x^2 + y^2 + z^2, [x, y, z]), x = 1, y = 1)
Результат 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:
| |
|
Неопределенное |
|
Значение для |
| |
|
Список indeterminates полинома: обычно, идентификаторы или индексированные идентификаторы |
Элемент содействующего звонка, или полином, или многочленное выражение или FAIL
fp