combine
Объедините условия той же алгебраической структуры
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
combine(f
, <IgnoreAnalyticConstraints>) combine(f
,target
, <IgnoreAnalyticConstraints>) combine(f
,[target1, target2, …]
, <IgnoreAnalyticConstraints>)
combine(f)
продукты перезаписей степеней в выражении f
как одна степень.
combine(f, target)
объединения несколько вызовов целевой функции (функций) в выражении f
к одному вызову.
combine(f)
применяет эти правила перезаписи к продуктам степеней, происходящих как подвыражения в арифметическом expression f
:
,
,
.
Последние два правила только допустимы в условиях определенных дополнительных ограничений, такой как тогда, когда b является целым числом. За исключением третьего правила, этого поведения combine
обратная функциональность expand
. Смотрите пример 1.
В определенных случаях MuPAD® внутренний simplifier автоматически применяет эти правила в обратном направлении и combine
иногда не оказывает влияния. Смотрите Пример 2.
combine(f, target)
применяет правила перезаписи, применимые к целевой функции (функциям) к арифметическому выражению f
. Некоторые правила только допустимы в условиях определенных дополнительных ограничений. Для большинства правил, combine
реализует обратную функциональность expand
. Этот список показывает правила перезаписи для целей.
target = arctan
:
для-1 <x <1 и-1 <y <1 .
target = exp
(см. Пример 4):
,
,
где допустимый, реагируя на свойства.
target = int
(см. Пример 5):
target = gamma
(см. Пример 6):
,
,
,
,
,
для положительных целых чисел n
.
target = ln
(см. Пример 7):
,
,
если b меньше N
. По умолчанию, N = 1000
. Можно изменить номер N
использование Pref::autoExpansionLimit
команда. Смотрите Пример 8.
Правила не содержат для произвольных комплексных чисел a
B
. Задайте соответствующие свойства для a
или b
включить эти правила перезаписи. Эти правила только применяются к натуральным логарифмам.
target = sincos
(см. Пример 3):
,
где подобные правила применяются к sin (x) cos (y) и cos (x) cos (y):
.
target = sinhcosh
:
,
где подобные правила применяются к sinh (x) cosh (y) и cosh (x) cosh (y).
Эти правила применяются рекурсивно к степеням sinh и cosh с положительными интегральными экспонентами.
combine
работает рекурсивно над подвыражениями f
.
Если второй аргумент является списком целей, то combine
применяется к f
впоследствии для каждой из целей в списке. Смотрите Пример 10.
Если f
массив, список, или набор, combine
применяется ко всем записям f
. Смотрите пример 11. Если f
полином или последовательное расширение, типа Series::Puiseux
или Series::gseries
Объединение
применяется к каждому коэффициенту. Смотрите Пример 12.
combine
реагирует на свойства идентификаторов, появляющихся во входе.
Объедините степени той же основы с помощью combine
.
combine(sin(x) + x*y*x^(exp(1)))
combine
также степени объединений с той же экспонентой в определенных случаях:
combine(sqrt(2)*sqrt(3))
В большинстве случаев, однако, combine
не комбинирует степени с той же экспонентой:
combine(y^5*x^5)
Перепишите продукты синусов и косинусов как сумма синусов и косинусов путем установки второго аргумента на sincos
:
combine(sin(a)*cos(b) + sin(b)^2, sincos)
Перепишите суммы синусов и косинусов путем установки второго аргумента на sincos
:
combine(cos(a) + sin(a), sincos)
Полномочия синусов или косинусов с отрицательными целочисленными экспонентами не переписаны:
combine(sin(b)^(-2), sincos)
Объедините условия с показательной функцией путем определения второго аргумента как exp
.
combine(exp(3)*exp(2), exp)
combine(exp(a)^2, exp)
Перепишите интегралы путем установки второго аргумента на int
.
combine(int(f(x),x)+int(g(x),x),int)
combine
комбинирует постоянный термин с интегралом.
combine(a*int(f(x),x),int)
combine
интегралы объединений с теми же пределами.
combine(int(f(x),x=a..b)+int(g(y),y=a..b),int)
Объедините вызовы gamma
путем определения цели как gamma
. combine
функция упрощает частных гамм к рациональным выражениям.
combine(gamma(n+3)*gamma(n+4/3) / gamma(n+1) / gamma(n+10/3), gamma)
Этот пример показывает приложение правил для логарифма и их зависимость от свойств идентификаторов, появляющихся во входе. В комплексной плоскости логарифм продукта не всегда равняется сумме логарифмов ее факторов. Для действительных положительных чисел, однако, может применяться это правило.
Попытайтесь объединить условия с вызовами ln
путем определения цели как ln
.
combine(ln(a) + ln(b), ln)
combine
не комбинирует условия. Установите соответствующие предположения комбинировать условия.
assume(a > 0): assume(b > 0): combine(ln(a) + ln(b), ln)
unassume(a): unassume(b):
Если a и b являются целыми или рациональными числами, и b меньше 1000
Объединение
возвращает логарифмы.
combine(3*ln(2), ln)
Если b больше или равен 1000
Объединение
возвращает результаты как:
combine(1234*ln(5), ln)
Можно изменить предел на номере b при помощи Pref::autoExpansionLimit
функция. Например, когда вы используете значение по умолчанию N = 1000
Объединение
возвращает следующий результат для этого логарифма:
combine(12*ln(12), ln)
Если вы устанавливаете значение Pref::autoExpansionLimit
к 10
Объединение
возвращает этот логарифм в его исходной форме:
Pref::autoExpansionLimit(10): combine(12*ln(12), ln)
Для дальнейших расчетов восстановите значение по умолчанию Pref::autoExpansionLimit
:
Pref::autoExpansionLimit(NIL):
IgnoreAnalyticConstraints
опция применяет набор чисто алгебраических упрощений включая равенство суммы логарифмов и логарифма продукта. Используя IgnoreAnalyticConstraints
опция, вы получаете более простой результат, но тот, который может быть неправильным для некоторых значений a
.
Объедините логарифмы с помощью IgnoreAnalyticConstraints
опция.
combine(ln(a^5) - ln(a^4), ln, IgnoreAnalyticConstraints)
Не используя эту опцию, вы получаете математически правильный, но длинный результат:
combine(ln(a^5) - ln(a^4), ln)
Второй аргумент также может быть списком целей. Затем правила перезаписи для каждой из целей в списке применяются.
Перепишите ln
и sincos
условия в выражении.
combine(ln(2) + ln(3) + sin(a)*cos(a), [ln, sincos])
combine
карты к наборам:
combine({sqrt(2)*sqrt(5), sqrt(2)*sqrt(11)})
combine
карты к коэффициентам полиномов:
combine(poly(sin(x)*cos(x)*y, [y]), sincos)
Однако это не касается indeterminates полинома:
combine(poly(sin(x)*cos(x)), sincos)
| |
|
Один из идентификаторов: |
|
Примените чисто алгебраические упрощения в выражении. Для получения дополнительной информации см. опции для |
Объект того же типа как входной объект f
.
f
Опытные пользователи могут расширить функциональность combine
путем реализации дополнительной перезаписи управляет для других целевых функций. Чтобы расширить функциональность, задайте новый паз target
из combine
. Чтобы задать новый паз, необходимо сначала оставить идентификатор без защиты combine
использование оставляет без защиты. Впоследствии, команда combine(f, target)
приводит к вызову combine::target(f)
из соответствующей стандартной программы паза.
По умолчанию, combine
обрабатывает подвыражение g(x1,x2,...)
'off'
путем вызова себя рекурсивно для операндов x1
x2
, и т.д. Пользователи могут изменить это поведение для своей собственной математической функции, данной функцией environment g
путем реализации combine
паз g
. Обрабатывать подвыражение g(x1,x2,...)
Объединение
затем вызывает стандартную программу паза g::combine
с последовательностью аргумента x1,x2,...
из g
.