matlab 曲线拟合求函数的最佳参数时怎么确定参数的初始值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=[];%待定参数的初始值fun=inline('b(1)*(1-b(2)*exp(b(3)*x))','b
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 01:07:26
matlab 曲线拟合求函数的最佳参数时怎么确定参数的初始值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=[];%待定参数的初始值fun=inline('b(1)*(1-b(2)*exp(b(3)*x))','b
matlab 曲线拟合求函数的最佳参数时怎么确定参数的初始值
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=[];%待定参数的初始值
fun=inline('b(1)*(1-b(2)*exp(b(3)*x))','b','x');
[b,r,j]=nlinfit(x,y,fun);
b
R=sum(r.^2)%误差的平方和
matlab 曲线拟合求函数的最佳参数时怎么确定参数的初始值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=[];%待定参数的初始值fun=inline('b(1)*(1-b(2)*exp(b(3)*x))','b
确定参数的初始值是比较繁琐的工作,一般可以用随机函数rand()来初定初始值,再根据plot()的散点图的曲线趋势,再调整初始值,直到试验数据曲线与拟合函数曲线基本吻合,即R² ≈ 1(相关系数),此时得到的系数为最佳值.(前提,拟合模型符合试验数据)
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)%误差平方和