# Question:Curve fitting and import data to fitting with formula

## Question:Curve fitting and import data to fitting with formula

Maple 15

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 to 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.