matlab 曲线拟合求函数的最佳参数时怎么确定参数的初始值

2024-11-07 23:41:37
推荐回答(2个)
回答(1):

确定参数的初始值是比较繁琐的工作,一般可以用随机函数rand()来初定初始值,再根据plot()的散点图的曲线趋势,再调整初始值,直到试验数据曲线与拟合函数曲线基本吻合,即R² ≈ 1(相关系数),此时得到的系数为最佳值。(前提,拟合模型符合试验数据)

回答(2):

x=[2:16];
y=[6.42 8.2 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.6 10.8 10.6 10.9 10.76];
plot(x,y,'*');
b0=[10.5974438964979 0.928821089717906 -0.453];%待定参数初始值
fun=inline('b(1)*(1-b(2)*exp(b(3)*x))','b','x');
[b,r,j]=nlinfit(x,y,fun,b0);
b
R=sum(r.^2)%误差平方和