Покажите предположения, влияющие на символьную переменную, выражение или функцию
assumptions(
возвращает все предположения, которые влияют на переменную var
)var
. Если var
выражение или функция, assumptions
возвращает все предположения, которые влияют на все переменные в var
.
assumptions
возвращает все предположения, которые влияют на все переменные в MATLAB® Рабочая область.
Примите что переменная n
целочисленное использование assume
. Возвратите использование предположения assumptions
.
syms n assume(n,'integer') assumptions
ans = in(n, 'integer')
Синтаксис in(n, 'integer')
указывает на n
целое число.
Примите тот n
меньше x
и тот x < 42
использование assume
. assume
функционируйте заменяет старые предположения на входе с новыми предположениями. Возвратите все предположения, которые влияют на n
.
syms x assume(n<x & x<42) assumptions(n)
ans = [ n < x, x < 42]
assumptions
возвращает предположение x < 42
потому что это влияет на n
через предположение n < x
. Таким образом, assumptions
возвращает переходное закрытие предположений, которое является всеми предположениями, которые математически влияют на вход.
Установите предположение на переменной m
тот 1 < m < 3
. Возвратите все предположения на m
и x
использование assumptions
.
syms m assume(1<m<3) assumptions([m x])
ans = [ n < x, 1 < m, m < 3, x < 42]
Чтобы видеть предположения, которые влияют на все переменные, используйте assumptions
без любых аргументов.
assumptions
ans = [ n < x, 1 < m, m < 3, x < 42]
Для дальнейших расчетов очистите предположения.
assume([m n x],'clear')
Вы не можете установить дополнительное предположение на переменном использовании assume
потому что assume
очищает все предыдущие предположения на той переменной. Установить дополнительное предположение на переменной, с помощью assumeAlso
.
Установите предположение на x
использование assume
. Установите дополнительное предположение на x
использование assumeAlso
Использование assumptions
возвратить несколько предположений на x
.
syms x assume(x,'real') assumeAlso(x<0) assumptions(x)
ans = [ in(x, 'real'), x < 0]
Синтаксис in(x, 'real')
указывает на x
isreal
.
Для дальнейших расчетов очистите предположения.
assume(x,'clear')
assumptions
принимает символьные выражения и функции, как введено и возвращает все предположения, которые влияют на все переменные в символьных выражениях или функциях.
Установите предположения на переменных в символьном выражении. Найдите все предположения, которые влияют на все переменные в использовании символьного выражения assumptions
.
syms a b c expr = a*exp(b)*sin(c); assume(a+b > 3 & in(a,'integer') & in(c,'real')) assumptions(expr)
ans = [ 3 < a + b, in(a, 'integer'), in(c, 'real')
Найдите все предположения, которые влияют на все переменные, которые являются входными параметрами к символьной функции.
syms f(a,b,c)
assumptions(f)
ans = [ 3 < a + b, in(a, 'integer'), in(c, 'real')]
Очистите предположения для дальнейших расчетов.
assume([a b c],'clear')
Чтобы восстановить старые предположения, сначала сохраните предположения, возвращенные assumptions
. Затем можно восстановить эти предположения в любой точке путем вызова assume
или assumeAlso
.
Решите уравнение для пружинного использования dsolve
под предположениями, что массой и коэффициентом упругости является positive
.
syms m k positive syms x(t) dsolve(m*diff(x,t,t) == -k*x, x(0)==0)
ans = C8*sin((k^(1/2)*t)/m^(1/2))
Предположим, что вы хотите исследовать решения, неограниченные предположениями, но хотеть восстановить предположения впоследствии. Сначала сохраните использование предположений assumptions
, затем очистите предположения и решите уравнение. dsolve
возвращает неограниченные решения.
tmp = assumptions;
assume([m k],'clear')
dsolve(m*diff(x,t,t) == -k*x, x(0)==0)
ans = C10*exp((t*(-k*m)^(1/2))/m) + C10*exp(-(t*(-k*m)^(1/2))/m)
Восстановите исходное использование предположений assume
.
assume(tmp)
После того, как расчеты завершены, очищают использование предположений assume
.
assume([m k],'clear')
Когда вы удаляете символьный объект из рабочего пространства MATLAB при помощи clear
, все предположения, что вы устанавливаете на том объекте, остаются в символьном механизме. Если вы объявляете новую символьную переменную с тем же именем, это наследовало эти предположения.
Очистить весь набор предположений на символьной переменной var
используйте эту команду.
assume(var,'clear')
Чтобы очистить все объекты в рабочем пространстве MATLAB и закрыть механизм Symbolic Math Toolbox™, сопоставленный с рабочим пространством MATLAB, сбрасывающим все его предположения, используйте эту команду.
clear all