Question: Curve fitting and import data to fitting with formula

Hi, I have a set of data (see here:I-V_data.xls), voltage and current, which is measured from Keithley semiconductor analyzer, I want to load into Maple(version 15) and using formula as follow Two diode equationto fitting the curve, where I (i.e. current) appear at both right-hand-side and left-hand-side, V (i.e. voltage) is the range from 0 to 2 at a duration increment of 0.01 (0,0.01,0.02,0.03...2),substitute V into formula and get a list of I to fitting the measured I-V data, where q,k,T is known constant,I0,ISR,n,Rs,Rsh are unknown parameters, I have to repetitive try and try different parameters in order to match the curve, it's time-consuming. Is there any convenient way that I can quickly fitting the measured data? 

At beginning, I was using Mathematica to fitting the measured data as follow,

Reduce[i == (2*10^(-9))*(E^((1000*(V-i*190))/(1.7*25.9))-1)+(2*10^(-9))*(E^((1000*(V-i*190))/(2.5*25.9))-1)+((V-i*1000)/3000000), i]

Reduce::ratnz:"Reduce was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result.

i[V_] :=paste the above result 

Plot[i[V], {V, 0, 2}]

dat1 = Table[i[V], {V, 0, 2, 0.01}]  #range from 0 to 2 at a duration increment of 0.01

{-1.65436*10^-24, 4.3517*10^-9, 8.96331*10^-9, 1.39011*10^-8,  ..., 0.00713786, 0.00718884}
ListPlot[dat1]
dat2 = ColumnForm[dat1] #change row to column
-1.65436*10^-24
 4.3517*10^-9,
 8.96331*10^-9,
 1.39011*10^-8, 
...
 0.00713786,
0.00718884
dat2 >> "D:\\1.txt" #write data into a file

Finally, copy the 1.txt data to plot with measured data to see if they match well, if not, I have to change the parameters (I0,ISR,n,Rs,Rsh) again to run again, it's time consuming, I help Maple can solve my problem in a quick way.

Help me, please, thank you.

Please Wait...