объединение

Объедините условия идентичной алгебраической структуры

Синтаксис

Y = combine(S)
Y = combine(S,T)
Y = combine(___,'IgnoreAnalyticConstraints',true)

Описание

пример

Y = combine(S) продукты перезаписей степеней в выражении S как одна степень.

пример

Y = combine(S,T) множественные вызовы объединений целевой функции T в выражении S. Используйте combine, чтобы реализовать обратную функциональность expand относительно большинства прикладных правил.

пример

Y = combine(___,'IgnoreAnalyticConstraints',true) упрощает вывод путем применения общих математических тождеств, таких как log(a) + log(b) = log(a*b). Эти тождества не могут быть допустимыми для всех значений переменных, но применение их может возвратить более простые результаты.

Примеры

Полномочия той же основы

Объедините степени той же основы.

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.

Если S является символьной матрицей, combine применяется ко всем элементам матрицы.

Целевая функция, заданная как 'atan', 'exp', 'gamma', 'int', 'log', 'sincos' или 'sinhcosh'. Правила перезаписи применяются только к вызовам целевой функции.

Выходные аргументы

свернуть все

Выражение с объединенными функциями, возвращенными как символьная переменная, номер, выражение, или как вектор или матрица символьных переменных, чисел или выражений.

Алгоритмы

combine применяет следующие правила перезаписи к входному выражению S, в зависимости от значения целевого аргумента T.

  • Когда T = 'exp', combine применяет эти правила перезаписи, где допустимый,

    eaeb=ea+b

    (ea)b=eab.

  • Когда T = 'log',

    журнал(a)+журнал(b)=журнал(ab).

    Если b <1000,

    bжурнал(a)=журнал(ab).

    Когда b >= 1000, combine не применяет это второе правило.

    Правила, примененные к логарифмам перезаписи, не содержат для произвольных комплексных чисел a и b. Задайте соответствующие свойства для a или b, чтобы включить эти правила перезаписи.

  • Когда T = 'int',

    af(x)dx=af(x)dx

    f(x)dx+g(x)dx=f(x)+g(x)dx

    abf(x)dx+abg(x)dx=abf(x)+g(x)dx

    abf(x)dx+abg(y)dy=abf(y)+g(y)dy

    abyf(x)dx+abxg(y)dy=abyf(c)+xf(c)dc.

  • Когда T = 'sincos',

    sin(x)sin(y)=потому что(xy)2потому что(x+y)2.

    combine применяет подобные правила для sin(x)cos(y) и cos(x)cos(y).

    Aпотому что(x)+Bsin(x)=A1+B2A2потому что(x+загар1(BA)).

  • Когда T = 'atan' и-1 <x <1,-1 <y <1,

    atan(x)+atan(y)=atan(x+y1xy).

  • Когда T = 'sinhcosh',

    sinh(x)sinh(y)=дубинка(x+y)2дубинка(xy)2.

    combine применяет подобные правила для sinh(x)cosh(y) и cosh(x)cosh(y).

    combine применяет предыдущие правила рекурсивно к степеням sinh и cosh с положительными интегральными экспонентами.

  • Когда T = 'gamma',

    aΓ(a)=Γ(a+1).

    и,

    Γ(a+1)Γ(a)=a.

    Для положительных целых чисел n,

    Γ(a)Γ(a)=πsin(πa).

Смотрите также

| | | | | | |

Введенный в R2014a

Для просмотра документации необходимо авторизоваться на сайте