определение функций в выбранном диапазоне, Mathematica

Есть ли способ определить функцию в определенной области в математике? Мне это нужно, потому что я хочу инвертировать функцию, которая является монотонной только в определенной области.
Например:

 f[x_]:=x^2
 g[x_]:=InverseFunction[f][x]

даст мне отчет $Failed. Это связано с тем, что параболическая функция монотонна только при x>0 или x‹0. Есть ли способ указать это при определении функции?

Спасибо!


person Rain    schedule 25.09.2014    source источник
comment
Я получаю не $Failed, а предупреждение InverseFunction::ifun: Используются обратные функции. Значения могут быть потеряны для многозначных инверсий. ›› и вывод. Какую версию вы используете?   -  person Mr.Wizard    schedule 28.09.2014
comment
Это Mathematica 9, и теперь, когда я его тестирую, он выдает то же предупреждение, что и вы. Я предполагаю, что когда я это сделал, mathematica уже была заполнена различными сценариями, поэтому предупреждение $Failed могло исходить от чего угодно в контексте. Спасибо за помощь!   -  person Rain    schedule 30.09.2014


Ответы (1)


Это работает для вашего примера.

f[x_ /; x != 0] := x^2 
g[y_] := InverseFunction[f][y]
Plot[g[z], {z, -2, 2}]

введите здесь описание изображения

person Chris Degnen    schedule 26.09.2014