Объедините условия идентичной алгебраической структуры
Y = combine(S)
Y = combine(S,T)
Y = combine(___,'IgnoreAnalyticConstraints',true)
Объедините степени той же основы.
syms x y z combine(x^y*x^z)
ans = x^(y + z)
Объедините степени числовых аргументов. Чтобы препятствовать тому, чтобы MATLAB® выполнил выражение, используйте sym
, чтобы преобразовать по крайней мере один числовой аргумент в символьное значение.
syms x y combine(x^(3)*x^y*x^exp(sym(1)))
ans = x^(y + exp(1) + 3)
Здесь, sym
преобразовывает 1
в символьное значение, препятствуя тому, чтобы MATLAB выполнил выражение e1
.
Объедините степени с теми же экспонентами в определенных случаях.
combine(sqrt(sym(2))*sqrt(3))
ans = 6^(1/2)
combine
обычно не комбинирует степени, потому что внутренний simplifier применяет те же правила в противоположном направлении, чтобы расширить результат.
syms x y combine(y^5*x^5)
ans = x^5*y^5
Объедините условия с логарифмами путем определения целевого аргумента как log
. Для действительных положительных чисел логарифм продукта равняется сумме логарифмов ее факторов.
S = log(sym(2)) + log(sym(3)); combine(S,'log')
ans = log(6)
Попытайтесь комбинировать log(a) + log(b)
. Поскольку a
и b
приняты, чтобы быть комплексными числами по умолчанию, правило не содержит, и combine
не комбинирует условия.
syms a b S = log(a) + log(b); combine(S,'log')
ans = log(a) + log(b)
Примените правило путем установки предположений, таким образом, что a
и b
удовлетворяют условия для правила.
assume(a > 0) assume(b > 0) S = log(a) + log(b); combine(S,'log')
ans = log(a*b)
Для будущих вычислений очистите набор предположений на переменных a и b путем воссоздания их использующий syms
.
syms a b
Также примените правило путем игнорирования аналитических ограничений с помощью 'IgnoreAnalyticConstraints'
.
syms a b S = log(a) + log(b); combine(S,'log','IgnoreAnalyticConstraints',true)
ans = log(a*b)
Перепишите продукты синусоидальных и косинусных функций как сумма функций путем установки целевого аргумента на sincos
.
syms a b combine(sin(a)*cos(b) + sin(b)^2,'sincos')
ans = sin(a + b)/2 - cos(2*b)/2 + sin(a - b)/2 + 1/2
Перепишите суммы синусоидальных и косинусных функций путем установки целевого аргумента на sincos
.
combine(cos(a) + sin(a),'sincos')
ans = 2^(1/2)*cos(a - pi/4)
combine
не переписывает степени синусоидальных или косинусных функций с отрицательными целочисленными экспонентами.
syms a b combine(sin(b)^(-2)*cos(b)^(-2),'sincos')
ans = 1/(cos(b)^2*sin(b)^2)
Объедините условия с экспонентами путем определения целевого аргумента как exp
.
combine(exp(sym(3))*exp(sym(2)),'exp')
ans = exp(5)
syms a combine(exp(a)^3, 'exp')
ans = exp(3*a)
Объедините условия с интегралами путем определения целевого аргумента как int
.
syms a f(x) g(x) combine(int(f(x),x)+int(g(x),x),'int') combine(a*int(f(x),x),'int')
ans = int(f(x) + g(x), x) ans = int(a*f(x), x)
Объедините интегралы с теми же пределами.
syms a b h(z) combine(int(f(x),x,a,b)+int(h(z),z,a,b),'int')
ans = int(f(x) + h(x), x, a, b)
Объедините два вызова обратной функции тангенса путем определения целевого аргумента как atan
.
syms a b assume(-1 < a < 1) assume(-1 < b < 1) combine(atan(a) + atan(b),'atan')
ans = -atan((a + b)/(a*b - 1))
Объедините два вызова обратной функции тангенса. combine
упрощает выражение до символьного значения, если это возможно.
assume(a > 0) combine(atan(a) + atan(1/a),'atan')
ans = pi/2
Для дальнейших вычислений очистите предположения:
syms a b
Объедините несколько гамма функций путем определения цели как gamma
.
syms x combine(gamma(x)*gamma(1-x),'gamma')
ans = -pi/sin(pi*(x - 1))
combine
упрощает частных гамма функций к рациональным выражениям.
Выполните несколько выражений в одном вызове функции при помощи символьной матрицы как входной параметр.
S = [sqrt(sym(2))*sqrt(5), sqrt(2)*sqrt(sym(11))]; combine(S)
ans = [ 10^(1/2), 22^(1/2)]
combine
применяет следующие правила перезаписи к входному выражению S
, в зависимости от значения целевого аргумента T
.
Когда T = 'exp'
, combine
применяет эти правила перезаписи, где допустимый,
Когда T = 'log'
,
Если b <1000,
Когда b >= 1000
, combine
не применяет это второе правило.
Правила, примененные к логарифмам перезаписи, не содержат для произвольных комплексных чисел a
и b
. Задайте соответствующие свойства для a
или b
, чтобы включить эти правила перезаписи.
Когда T = 'int'
,
Когда T = 'sincos'
,
combine
применяет подобные правила для sin(x)cos(y)
и cos(x)cos(y)
.
Когда T = 'atan'
и-1 <x <1,-1 <y <1,
Когда T = 'sinhcosh'
,
combine
применяет подобные правила для sinh(x)cosh(y)
и cosh(x)cosh(y)
.
combine
применяет предыдущие правила рекурсивно к степеням sinh
и cosh
с положительными интегральными экспонентами.
Когда T = 'gamma'
,
и,
Для положительных целых чисел n
,