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