assumptions

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

Синтаксис

Описание

пример

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 является 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