exponenta event banner

расшириться

Расширение выражений и упрощение ввода функций с помощью идентификаторов

Описание

пример

expand(S) умножает все круглые скобки в Sи упрощает ввод в функции, такие как cos(x + y) путем применения стандартных идентификаторов.

пример

expand(S,Name,Value) использует дополнительные параметры, заданные одним или несколькими аргументами пары имя-значение. Например, указание 'IgnoreAnalyticConstraints' как true использует удобные идентификаторы для упрощения ввода.

Примеры

свернуть все

syms x
p = (x - 2)*(x - 4);
expand(p)
ans =
x^2 - 6*x + 8

Развернуть тригонометрическое выражение cos(x + y). Упрощение cos ввод функции x + y кому x или y путем применения стандартных идентификаторов.

syms x y
expand(cos(x + y))
ans =
cos(x)*cos(y) - sin(x)*sin(y)

Разверните e ( a + b) 2. Упрощение exp ввод функции, (a + b)^2, путем применения стандартных идентификаторов.

syms a b
f = exp((a + b)^2);
expand(f)
ans =
exp(a^2)*exp(b^2)*exp(2*a*b)

Разверните выражения в векторе. Упростите ввод функций в выражениях, применив идентификаторы.

syms t
V = [sin(2*t), cos(2*t)];
expand(V)
ans =
[ 2*cos(t)*sin(t), 2*cos(t)^2 - 1]

По умолчанию expand оба расширяют члены, возведенные в полномочия, и расширяют функции, применяя идентичности, которые упрощают ввод в функции. Расширять только термины, возведенные в полномочия и подавлять расширение функций с помощью 'ArithmeticOnly'.

Расшириться (sin(3*x) - 1)^2. По умолчанию expand расширит мощность ^2 и упростить sin вход 3*x кому x.

syms x
f = (sin(3*x) - 1)^2;
expand(f)
ans =
2*sin(x) + sin(x)^2 - 8*cos(x)^2*sin(x) - 8*cos(x)^2*sin(x)^2...
 + 16*cos(x)^4*sin(x)^2 + 1

Подавление расширения функций, таких как sin(3*x), путем установки ArithmeticOnly кому true.

expand(f, 'ArithmeticOnly', true)
ans =
sin(3*x)^2 - 2*sin(3*x) + 1

Упрощение ввода log вызовы функций. По умолчанию expand не упрощает ввод логарифма, поскольку используемые идентификаторы недопустимы для комплексных значений переменных.

syms a b c
f = log((a*b/c)^2);
expand(f)
ans =
log((a^2*b^2)/c^2)

Применение идентификаторов для упрощения ввода логарифмов путем установки 'IgnoreAnalyticConstraints' кому true.

expand(f,'IgnoreAnalyticConstraints',true)
ans =
 2*log(a) + 2*log(b) - 2*log(c)

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

свернуть все

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

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: expand(S,'ArithmeticOnly',true)

Развернуть только алгебраические выражения, указанные как разделенная запятыми пара, состоящая из 'ArithmeticOnly' и true или false. Если значение равно true, функция расширяет арифметическую часть выражения без расширения тригонометрических, гиперболических, логарифмических и специальных функций. Такой вариант не препятствует расширению полномочий и корней.

Используйте удобные идентификаторы для упрощения, указанные как разделенная запятыми пара, состоящая из 'IgnoreAnalyticConstraints' и true или false.

Настройка 'IgnoreAnalyticConstraints' кому true может дать вам более простые решения, которые могут привести к результатам, которые обычно недействительны. Другими словами, эта опция применяет математические идентичности, которые удобны, но результаты могут иметь место не для всех значений переменных. В некоторых случаях эта опция позволяет expand возвращает более простые результаты, которые могут быть не эквивалентны начальному выражению. См. раздел Алгоритмы.

Алгоритмы

При использовании 'IgnoreAnalyticConstraints', expand применяет эти правила.

  • log (a) + log ( b) = log (a· b) для всех значений a и b. В частности, следующее равенство справедливо для всех значений a, b и c:

      (a· b) c = ac· bc.

  • log (ab ) = log (a) для всех значений a и b. В частности, следующее равенство справедливо для всех значений a, b и c:

      (ab)  c = ab· c.

  • Если f и g являются стандартными математическими функциями и f (g (x )) = x для всех малых положительных чисел, предполагается,   что f (g (x)) = x является действительным для всех комплексных x.

    • log (ex ) = x

    • asin (sin (x )) = x, acos (cos (x )) = x, atan ( tan (x)) = x

    • asinh (sinh (x )) = x, acosh (cosh (x )) = x, atanh (tanh  (x)) = x

    • Wk (x·  ex) = x для всех значений k

Представлен до R2006a