# FINDING INVERSE ERROR FUNCTION

In a previous blog at autarkaw.wordpress.com (Sep 1, 2010), we set up a nonlinear equation to find the inverse error function. In this blog, we will solve this equation by using interpolation. The problem is given at and we are solving Exercise 2 of the pdf file.

## TOPIC

Finding inverse error function

## SUMMARY

```% Language : Matlab 2008a;
% Authors : Autar Kaw;
% Mfile available at
% http://numericalmethods.eng.usf.edu/blog/inverse_erf_interp_matlab.m;
% Last Revised : October 4 2010
% Abstract: This program shows you how to find the inverse error function
% using interpolation
clc
clear all
```

## INTRODUCTION

```disp('ABSTRACT')
disp('   This program shows you how to')
disp('   find the inverse error function')
disp(' ')
disp('AUTHOR')
disp('   Autar K Kaw of http://autarkaw.wordpress.com')
disp(' ')
disp('MFILE SOURCE')
disp(' http://numericalmethods.eng.usf.edu/blog/inverse_erf_interp_matlab.m')
disp('  ')
disp('PROBLEM STATEMENT')
disp(' http://numericalmethods.eng.usf.edu/blog/inverseerror.pdf  Exercise 2')
disp(' ')
disp('LAST REVISED')
disp('   October 4, 2010')
disp(' ')
```
```ABSTRACT
This program shows you how to
find the inverse error function

AUTHOR
Autar K Kaw of http://autarkaw.wordpress.com

MFILE SOURCE
http://numericalmethods.eng.usf.edu/blog/inverse_erf_interp_matlab.m

PROBLEM STATEMENT
http://numericalmethods.eng.usf.edu/blog/inverseerror.pdf  Exercise 2

LAST REVISED
October 4, 2010

```

## INPUTS

Value of error function

```erfx=0.1125;
% Table of erf(x) vs x
xx=[0  0.1  0.25  0.75  1.0  1.5  2.0  5.0];
erfxx=[0  0.1125  0.2763  0.7112  0.8427  0.9661  0.9953  1.0000];
```

## DISPLAYING INPUTS

```disp('INPUTS')
fprintf(' Inverse error function is to be found for= %g',erfx)
disp('  ')
disp(' Given erf(x) vs x values')
disp('_______________________')
disp('    x          erfx  ')
disp('________________________')
dataval=[xx;erfxx]';
disp(dataval)
```
```INPUTS
Inverse error function is to be found for= 0.1125
Given erf(x) vs x values
_______________________
x          erfx
________________________
0         0
0.1000    0.1125
0.2500    0.2763
0.7500    0.7112
1.0000    0.8427
1.5000    0.9661
2.0000    0.9953
5.0000    1.0000

```

## CODE

```if erfx>1.0 | erfx<0
disp('Invalid value. erf(x) only takes values in [0,1] range')
else
```
```inverse_erf=interp1(erfxx,xx,erfx,'cubic');
```

## DISPLAYING OUTPUTS

```disp('OUTPUTS')
fprintf(' Value of inverse error func from this mfile is= %g',inverse_erf)
fprintf(' \n Value of inverse error func from MATLAB is    = %g',erfinv(erfx))
disp('  ')
```
```OUTPUTS
Value of inverse error func from this mfile is= 0.1
Value of inverse error func from MATLAB is    = 0.100033
```
```end
```