assumptions

Покажите предположения, влияющие на символьную переменную, выражение или функцию

Синтаксис

Описание

пример

assumptions(var) возвращает все предположения, которые влияют на переменную var. Если var выражение или функция, assumptions возвращает все предположения, которые влияют на все переменные в var.

пример

assumptions возвращает все предположения, которые влияют на все переменные в MATLAB® Workspace.

Примеры

Предположения на переменных

Примите что переменная 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

Представленный в R2012a