перезапись

Перепишите выражение с точки зрения другой функции

Синтаксис

rewrite(expr,target)

Описание

пример

rewrite(expr,target) переписывает символьное выражение expr с точки зрения целевой функции target. Переписанное выражение математически эквивалентно исходному выражению. Если expr является вектором или матрицей, действия rewrite, поэлементные на expr.

Примеры

свернуть все

Перепишите любую тригонометрическую функцию с точки зрения показательной функции путем определения целевого 'exp'.

syms x
sin2exp = rewrite(sin(x), 'exp')
tan2exp = rewrite(tan(x), 'exp')
sin2exp =
(exp(-x*1i)*1i)/2 - (exp(x*1i)*1i)/2

tan2exp =
-(exp(x*2i)*1i - 1i)/(exp(x*2i) + 1)

Перепишите показательную функцию с точки зрения любой тригонометрической функции путем определения тригонометрической функции как цели. Для полного списка целей смотрите target.

syms x
exp2sin = rewrite(exp(x), 'sin')
exp2tan = rewrite(-(exp(x*2i)*1i - 1i)/(exp(x*2i) + 1), 'tan')
exp2sin =
1 - 2*sin((x*1i)/2)^2 - sin(x*1i)*1i
exp2tan =
-(((tan(x) - 1i)*1i)/(tan(x) + 1i) + 1i)/...
    ((tan(x) - 1i)/(tan(x) + 1i) - 1)

Упростите exp2tan в ожидаемую форму при помощи simplify.

exp2tan = simplify(exp2tan)
exp2tan =
tan(x)

Перепишите любую тригонометрическую функцию с точки зрения любой другой тригонометрической функции путем определения цели. Для полного списка целей смотрите target.

Перепишите tan(x) с точки зрения синусоидальной функции путем определения целевого 'sin'.

syms x
tan2sin = rewrite(tan(x), 'sin')
tan2sin =
-sin(x)/(2*sin(x/2)^2 - 1)

Перепишите любую гиперболическую функцию с точки зрения любой тригонометрической функции путем определения тригонометрической функции как цели. Для полного списка целей смотрите target.

Перепишите tanh(x) с точки зрения синусоидальной функции путем определения целевого 'sin'.

syms x
tanh2sin = rewrite(tanh(x), 'sin')
tanh2sin =
(sin(x*1i)*1i)/(2*sin((x*1i)/2)^2 - 1)

Точно так же перепишите тригонометрические функции с точки зрения гиперболических функций путем определения гиперболической функции как цели.

Перепишите любую обратную тригонометрическую функцию с точки зрения функции логарифма путем определения целевого 'log'. Для полного списка целей смотрите target.

Перепишите acos(x) и acot(x) с точки зрения функции log.

syms x
acos2log = rewrite(acos(x), 'log')
acot2log = rewrite(acot(x), 'log')
acos2log =
-log(x + (1 - x^2)^(1/2)*1i)*1i

acot2log =
(log(1 - 1i/x)*1i)/2 - (log(1i/x + 1)*1i)/2

Точно так же перепишите функцию логарифма с точки зрения обратной тригонометрической функции путем определения обратной тригонометрической функции как цели.

Перепишите каждый элемент матрицы путем вызова rewrite на матрице.

Перепишите все элементы матрицы с точки зрения функции exp.

syms x
matrix = [sin(x) cos(x); sinh(x) cosh(x)];
rewrite(matrix, 'exp')
ans =
[ (exp(-x*1i)*1i)/2 - (exp(x*1i)*1i)/2, exp(-x*1i)/2 + exp(x*1i)/2]
[                 exp(x)/2 - exp(-x)/2,       exp(-x)/2 + exp(x)/2]

Перепишите косинусную функцию с точки зрения синусоидальной функции. Здесь, rewrite заменяет косинусную функцию с помощью идентичности cos(2*x) = 1 – 2*sin(x)^2, который допустим для любого x.

syms x
rewrite(cos(x),'sin')
ans =
1 - 2*sin(x/2)^2

rewrite не заменяет sin(x) на также 1потому что2(x) или 1потому что2(x) потому что эти выражения не допустимы для всего x. Однако использование квадрата этих выражений, чтобы заменить sin(x)^2 допустимо для всего x. Таким образом rewrite заменяет sin(x)^2.

syms x
rewrite(sin(x),'cos')
rewrite(sin(x)^2,'cos')
ans =
sin(x)
ans =
1 - cos(x)^2

Входные параметры

свернуть все

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

Целевая функция, заданная как вектор символов. Эта таблица суммирует правила перезаписи для всех позволенных целей.

ЦельПерезаписи эти функцииС точки зрения этих функций
'exp'Все тригонометрические и гиперболические функции включая обратные функцииexp, log
'log'Все обратные тригонометрические и гиперболические функцииlog
'sincos'tan, cot, exp, sinh, cosh, tanh, cothsin, cos
'sin', 'cos', 'tan' или 'cot'sin, cos, exp, tan, cot, sinh, cosh, tanh, coth кроме целиЦелевая тригонометрическая функция
'sinhcosh'tan, cot, exp, sin, cos, tanh, cothsinh, cosh
'sinh', 'cosh', 'tanh', 'coth'tan, cot, exp, sin, cos, sinh, cosh, tanh, coth кроме целиЦелевая гиперболическая функция
'asin', 'acos', 'atan', 'acot'log, и все обратные тригонометрические функции и обратные гиперболические функцииЦелевая обратная тригонометрическая функция
'asinh', 'acosh', 'atanh', 'acoth'log, и все обратные тригонометрические функции и обратные гиперболические функцииЦелевая обратная гиперболическая функция
'sqrt'abs(x + 1i*y)sqrt(x^2 + y^2)
'heaviside'sign, triangularPulse, rectangularPulseheaviside
'piecewise'abs, heaviside, sign, triangularPulse, rectangularPulsepiecewise

Советы

  • rewrite заменяет символьные вызовы функции в expr с целевой функцией, только если замена математически допустима. В противном случае это сохраняет исходные вызовы функции.

Представленный в R2012a