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

Има ли начин да се дефинира функция в конкретен домейн в 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