exponenta event banner

переписать

Переписать выражение в терминах другой функции

Описание

пример

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 cos2 (x) или 1 cos2 (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