# Interpolate the following implicit function?

**URL:** <https://community.wolfram.com/t/interpolate-the-following-implicit-function/13102>\
**Category:** Questions\
**Tags:** economics, equation-solving\
**Created:** [September 19, 2018, 9:23am UTC](https://community.wolfram.com/t/interpolate-the-following-implicit-function/13102 "2018-09-19T09:23:12Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bauer](https://avatars.discourse-cdn.com/v4/letter/b/f6c823/32.png) [@bauer](https://community.wolfram.com/u/bauer)\
**Post date:** [September 19, 2018, 9:23am UTC](https://community.wolfram.com/t/interpolate-the-following-implicit-function/13102/1 "2018-09-19T09:23:12Z")

</div>

Hi,  
I have a problem with solve. I need to define this function b of two variables, which is implicitly defined. I need it later to enter it into some other really nasty equations, which then again have to be solved numerically. So I wanted to define a grind of x and ss and then use an interpolation to get a smooth function version of b. However, I cannot even get a solution at a single point. (Maple does that without problems, so it shouldn’t be a mathematical problem, but more of my stupidity). Below find the code an error text. If I use “NSolve” I even get no output. Any ideas?

Best

Christian

```
    b[x_, ss_] := Solve[b == x - ss*Quantile[NormalDistribution, b], b, Reals]
    
    b[0.3,0.1]

Solve::inex: Solve was unable to solve the system with inexact coefficients or the system obtained by direct rationalization of inexact numbers present in the system. Since many of the methods used by Solve require exact input, providing Solve with an exact version of the system may help.

```

---

<div class="post-metadata">

**Author:** ![mariuszi28cg](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/mariuszi28cg/32/308_2.png) [@mariuszi28cg](https://community.wolfram.com/u/mariuszi28cg)\
**Post date:** [September 19, 2018, 9:48am UTC](https://community.wolfram.com/t/interpolate-the-following-implicit-function/13102/2 "2018-09-19T09:48:50Z")

</div>

Last my correct [answer](https://wolfram.discourse.group/t/13092/1) don’t work for you ?

**Solve** can’t solve [transcentental](https://en.wikipedia.org/wiki/Transcendental_equation) equation and is a **mathematical problem**.

Maple gave you solution by **RootOf** function.It is eqivalent to Mathematica **Root** ,but in MMA works only for polynomial equation.  
In Maple works for all equation. [See in Maple Online Help](https://www.maplesoft.com/support/help/Maple/view.aspx?path=RootOf&term=RootOf).

 ![10232Bez tytułu.png](https://global.discourse-cdn.com/wolfram/original/3X/b/6/b6f5bf2c5ffaa5359cc81adc52a0990c4bed05c1.png)

---

<div class="post-metadata">

**Author:** ![bauer](https://avatars.discourse-cdn.com/v4/letter/b/f6c823/32.png) [@bauer](https://community.wolfram.com/u/bauer)\
**Post date:** [September 19, 2018, 10:40am UTC](https://community.wolfram.com/t/interpolate-the-following-implicit-function/13102/3 "2018-09-19T10:40:48Z")

</div>

Dear Mariusz,  
The first answer did not work, as I wrote. Unfortunately, I don’t know why.  
I didn’t manage to transform the second one to a function definition, so that I can call it in other functions (including again NSolve or FindRoot and Integrals, so I need it quite often) later on.  
Best, Christian

---

<div class="post-metadata">

**Author:** ![mariuszi28cg](https://yyz1.discourse-cdn.com/wolfram/user_avatar/community.wolfram.com/mariuszi28cg/32/308_2.png) [@mariuszi28cg](https://community.wolfram.com/u/mariuszi28cg)\
**Post date:** [September 19, 2018, 10:55am UTC](https://community.wolfram.com/t/interpolate-the-following-implicit-function/13102/4 "2018-09-19T10:55:47Z")

</div>

I checked my code on Mathematica **10.2** and **11.3** and works fine.

In Mathematica help says: “ **NSolve** deals primarily with linear and polynomial equations”.

---

<div class="post-metadata">

**Author:** ![gianlucagorni](https://avatars.discourse-cdn.com/v4/letter/g/ec9cab/32.png) [@gianlucagorni](https://community.wolfram.com/u/gianlucagorni)\
**Post date:** [September 20, 2018, 7:31pm UTC](https://community.wolfram.com/t/interpolate-the-following-implicit-function/13102/5 "2018-09-20T19:31:42Z")

</div>

If I am not wrong, the equation

```
b == x - ss*InverseCDF[NormalDistribution[0, 1], b][[1]]

```

should be equivalent to

```
2 b == Erfc[(b - x)/(Sqrt[2] ss)]

```

and this one Mathematica can do:

```
b[x_, ss_] := 
 Solve[2 b == Erfc[(b - x)/(Sqrt[2] ss)] && 0 <= b <= 1, b, Reals]
b[3/10, 1/10]

```

---

<div class="post-metadata">

**Author:** ![bauer](https://avatars.discourse-cdn.com/v4/letter/b/f6c823/32.png) [@bauer](https://community.wolfram.com/u/bauer)\
**Post date:** [September 21, 2018, 8:36am UTC](https://community.wolfram.com/t/interpolate-the-following-implicit-function/13102/6 "2018-09-21T08:36:14Z")

</div>

Awesome! Thanks a lot.

Question to the developers: Why can’t the system do this automatically??
