assuming, _assuming

Установите временное предположение

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

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

Синтаксис

calculation assuming condition
calculation assuming (expr, set)
_assuming(calculation, condition)
_assuming(calculation, (expr, set))

Описание

calculation assuming condition оценивает calculation под предположением, что condition верен для того вычисления.

calculation assuming(expr, set) временно присоединяет свойство set к идентификатору или выражению expr и оценивает calculation. Этот вызов игнорирует все предыдущие предположения, содержащие идентификаторы, используемые в expr.

calculation assuming condition эквивалентен _assuming(calculation, condition).

calculation assuming (expr, set) эквивалентен _assuming(calculation, (expr, set)).

assuming устанавливает временные предположения. Временные предположения сохраняются только, в то время как аргумент calculation оценен. После этой оценки MuPAD® удаляет эти предположения. Поэтому они не влияют на дальнейшие вычисления. MuPAD также удаляет временные предположения, если оценка останавливается с ошибкой.

assuming временно перезаписывает существующие предположения. Если у вас есть постоянные предположения, MuPAD игнорирует их при оценке calculation. Вместо этого это использует временные предположения, установленные assuming.

Если предположения содержат линейные уравнения с одной переменной, assuming решает эти уравнения. Затем команда вставляет решения в calculation и оценивает результат. Смотрите Пример 6.

Если expr является списком, вектором или матрицей, используйте синтаксисы calculation assuming(expr, set) и _assuming(calculation, (expr, set)). Здесь, set задан как один из C_, R_, Q_, Z_, N_ или выражения, созданного с операциями присвоения, такими как union, intersect или minus. set также может быть функцией библиотеки Type, например, Type::Real, Type::Integer, Type::PosInt, и так далее.

Не используйте синтаксисы calculation assuming (expr in set) (или его эквивалентный _assuming(calculation, expr in set)) и calculation assuming condition (или его эквивалентный _assuming(calculation, condition)) для нескалярного expr.

Примеры

Пример 1

Найдите знак выражения x^2 + 1, принимающим, что идентификатор x представляет вещественное число:

sign(x^2+1) assuming (x, Type::Real)

Пример 2

Упростите эту синусоидальную функцию, принимающую, что n является целым числом:

simplify(sin(n*PI)) assuming n in Z_

Пример 3

Дополнительные предположения позволяют вам упростить некоторые выражения. Например, вычислите правильный предел x p:

limit(x^p, x = 0, Right)

Вычислите правильный предел того же выражения для отрицательных, положительных, и нулевых значений p:

limit(x^p, x = 0, Right) assuming p < 0

limit(x^p, x = 0, Right) assuming p > 0

limit(x^p, x = 0, Right) assuming p = 0

Пример 4

Предположения, установленные assuming, являются временными. Они не влияют ни на какие предыдущие или будущие вычисления:

getprop(a);
getprop(a) assuming a > 0;
getprop(a)

Пример 5

Если вы уже используете постоянное предположение и хотите добавить временное предположение на том же объекте, не используйте assuming. Это временно перезаписывает постоянное предположение:

assume(x in Z_):
solve(x^3 - (44*x^2)/3 + (148*x)/3 - 80/3 = 0, x) assuming x < 5

Вместо этого используйте assumingAlso:

solve(x^3 - (44*x^2)/3 + (148*x)/3 - 80/3 = 0, x) assumingAlso x < 5

Пример 6

Если предположения содержат линейные уравнения с одной переменной, assuming решает уравнения, вставляет решения в выражение, и затем выполняет выражение:

a^2 + 1 assuming a - 2 = 1;

assume и assumeAlso не решают уравнения:

assume(a - 2 = 1) ;
a^2 + 1

Параметры

calculation

Любая команда MuPAD или выражение, которое вы хотите выполнить под временным предположением.

condition

Равенство, неравенство, элемент отношения или булева комбинация (с операторами and или or).

expr

Идентификатор, математическое выражение, список, вектор или матрица, содержащая идентификаторы.

Если expr является списком, вектором или матрицей, то только синтаксисы calculation assuming(expr, set) и _assuming(calculation, (expr, set)) допустимы.

set

Свойство, представляющее набор чисел или набор, возвращенный solve.

Например, этот набор может быть элементом Dom::Interval, Dom::ImageSet, piecewise или одного из C_, R_, Q_, Z_, N_. Это также может быть выражение, созданное с операциями присвоения, такими как union, intersect или minus. Для большего количества примеров смотрите Свойства.

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

assuming возвращает результат оценки calculation.