Условно заданное выражение или функция
Задайте следующее кусочное выражение при помощи piecewise
.
syms x y = piecewise(x<0, -1, x>0, 1)
y = piecewise(x < 0, -1, 0 < x, 1)
Оцените y
в -2
, 0, и
2
при помощи subs
заменять x
. Поскольку y
не определено в x = 0
, значением является NaN
.
subs(y, x, [-2 0 2])
ans = [ -1, NaN, 1]
Задайте следующую функцию символически.
syms y(x) y(x) = piecewise(x<0, -1, x>0, 1)
y(x) = piecewise(x < 0, -1, 0 < x, 1)
Поскольку y(x)
символьная функция, можно непосредственно оценить ее для значений x
. Оцените y(x)
в -2
, 0, и
2
. Поскольку y(x)
не определено в x = 0
, значением является NaN
. Для получения дополнительной информации смотрите, Создают Символьные Функции.
y([-2 0 2])
ans = [ -1, NaN, 1]
Установите значение кусочно-линейной функции, когда никакое условие не будет верно (названный в противном случае значение) путем определения дополнительного входного параметра. Если дополнительный аргумент не задан, значение по умолчанию в противном случае, значением функции является NaN
.
Задайте кусочно-линейную функцию
syms y(x) y(x) = piecewise(x<-2, -2, -2<x<0, 0, 1)
y(x) = piecewise(x < -2, -2, x in Dom::Interval(-2, 0), 0, 1)
Оцените y(x)
между -3
и 1
путем генерации значения x
использование linspace
. В -2
и 0
, y(x)
оценивает к 1
потому что другие условия не верны.
xvalues = linspace(-3,1,5) yvalues = y(xvalues)
xvalues = -3 -2 -1 0 1 yvalues = [ -2, 1, 0, 1, 1]
Постройте следующее кусочное выражение при помощи fplot
.
syms x
y = piecewise(x<-2, -2, -2<x<2, x, x>2, 2);
fplot(y)
На создании кусочное выражение применяет существующие предположения. Примените набор предположений после создания кусочного выражения при помощи simplify
по выражению.
Примите x > 0
. Затем задайте кусочное выражение с тем же условием x > 0
. piecewise
автоматически применяет предположение, чтобы упростить условие.
syms x assume(x > 0) pw = piecewise(x<0, -1, x>0, 1)
pw = 1
Очистите предположение на x
для дальнейших расчетов.
assume(x,'clear')
Создайте кусочное выражение pw
с условием x > 0
. Затем установите предположение что x > 0
. Примените предположение pw
при помощи simplify
.
pw = piecewise(x<0, -1, x>0, 1); assume(x > 0) pw = simplify(pw)
pw = 1
Очистите предположение на x
для дальнейших расчетов.
assume(x, 'clear')
Дифференцируйте, интегрируйте и найдите пределы кусочного выражения при помощи diff
, int
, и limit
соответственно.
Дифференцируйте следующее кусочное выражение при помощи diff
.
syms x y = piecewise(x<-1, 1/x, x>=-1, sin(x)/x); diffy = diff(y, x)
diffy = piecewise(x < -1, -1/x^2, -1 < x, cos(x)/x - sin(x)/x^2)
Интегрируйте y
при помощи int
.
inty = int(y, x)
inty = piecewise(x < -1, log(x), -1 <= x, sinint(x))
Найдите пределы y
в 0
и -1
при помощи limit
. Поскольку limit
находит двусторонний предел, кусочное выражение должно быть задано с обеих сторон. В качестве альтернативы можно найти право - или левосторонний предел. Для получения дополнительной информации смотрите limit
.
limit(y, x, 0) limit(y, x, -1)
ans = 1 ans = limit(piecewise(x < -1, 1/x, -1 < x, sin(x)/x), x, -1)
Поскольку эти два условия встречаются в -1
, пределы с обеих сторон отличаются и limit
не может найти двусторонний предел.
Добавьте, вычтите, разделите и умножьте два кусочных выражения. Получившееся кусочное выражение только задано, где начальные кусочные выражения заданы.
syms x pw1 = piecewise(x<-1, -1, x>=-1, 1); pw2 = piecewise(x<0, -2, x>=0, 2); add = pw1 + pw2 sub = pw1 - pw2 mul = pw1 * pw2 div = pw1 / pw2
add = piecewise(x < -1, -3, x in Dom::Interval([-1], 0), -1, 0 <= x, 3) sub = piecewise(x < -1, 1, x in Dom::Interval([-1], 0), 3, 0 <= x, -1) mul = piecewise(x < -1, 2, x in Dom::Interval([-1], 0), -2, 0 <= x, 2) div = piecewise(x < -1, 1/2, x in Dom::Interval([-1], 0), -1/2, 0 <= x, 1/2)
Измените кусочное выражение, заменив часть выражения с помощью subs
. Расширьте кусочное выражение путем определения выражения как в противном случае значение нового кусочного выражения. Это действие комбинирует два кусочных выражения. piecewise
не проверяет на наложение или конфликт условий. Вместо этого как, если еще лестничная структура, piecewise
возвращает значение для первого истинного условия.
Измените условие x<2
в кусочном выражении к x<0
при помощи subs
.
syms x pw = piecewise(x<2, -1, x>0, 1); pw = subs(pw, x<2, x<0)
pw = piecewise(x < 0, -1, 0 < x, 1)
Добавьте условие x>5
со значением 1/x
к pw
путем создания нового кусочного выражения с pw
как в противном случае значение.
pw = piecewise(x>5, 1/x, pw)
pw = piecewise(5 < x, 1/x, x < 0, -1, 0 < x, 1)
piecewise
не проверяет на наложение или конфликт условий. Кусочное выражение возвращает значение первого истинного условия и игнорирует любой после истинных выражений. Таким образом, piecewise
подражает если еще лестничная структура.
and
| assume
| assumeAlso
| assumptions
| if
| in
| isAlways
| not
| or