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) с также 1cos2(x) или 1cos2(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

Для просмотра документации необходимо авторизоваться на сайте