Matlab 曲线拟合 问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 19:18:15
已知函数形式为I=(V-IRs)/Rsh + Is exp[(q(V-IRs)/nkT)-1]

K T为常数 已知 Rs Rsh Is n待定常数 V I未知量

多组已知V I值 如何利用Matlab进行曲线拟合得到Rs Rsh Is n

可用非线性拟合函数lsqcurvefit,简单的程序:
function shiyan%主函数
V=%数据V
I=%数据I
x0=[1 1 1 1];%四个未知数的迭代(猜测)初值,一般随便给
[x,resnorm,residual]=lsqcurvefit(@myfun,x0,V,I)
%x即为拟合出的待定常数
%resnorm为函数的残差平方和
%residual为残差

function I=myfun(x,v)%定义要拟合的函数
k= %给k赋值
T= %给Tk赋值
q= %给q赋值
I=(v-x(1))/x(2)+x(3)*exp(q*(v-x(1))/(x(4)*k*T)-1) %q怎么没说明
%把IRs Rsh Is n定义成x(1)到x(4)

help fit