rewrite

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

Синтаксис

Описание

пример

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
'sincos'tanраскладушкаexpsinhдубинкаtanhcothsinпотому что
'sin'потому чтоtan, или 'cot'sinпотому чтоexptanраскладушкаsinhдубинкаtanhcoth кроме целиЦелевая тригонометрическая функция
'sinhcosh'tanраскладушкаexp, sinпотому чтоtanhcothsinhдубинка
'sinh'дубинкаtanhcothtanраскладушкаexp, sinпотому чтоsinhдубинкаtanhcoth кроме целиЦелевая гиперболическая функция
'asin'acosatanacotlog, и все обратные тригонометрические функции и обратные гиперболические функцииЦелевая обратная тригонометрическая функция
'asinh'acoshatanhacothlog, и все обратные тригонометрические функции и обратные гиперболические функцииЦелевая обратная гиперболическая функция
'sqrt'abs(x + 1i*y)sqrt(x^2 + y^2)
'heaviside'sign, triangularPulse, rectangularPulseheaviside
'piecewise'abs, heavisideзнак, triangularPulse, rectangularPulsepiecewise

Советы

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

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