exponenta event banner

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

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

Описание

пример

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 и закрыть механизм Toolbox™ символьной математики, связанный с рабочей областью MATLAB, сбросив все ее допущения, используйте эту команду.

    clear all
Представлен в R2012a