Показать допущения, влияющие на символьную переменную, выражение или функцию
Предположим, что переменная 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