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