предположения

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

Синтаксис

assumptions(var)
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, является real.

Для дальнейших вычислений очистите предположения.

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