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

问题描述:

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)%误差的平方和
1个回答 分类:综合 2014-11-19

问题解答:

我来补答
确定参数的初始值是比较繁琐的工作,一般可以用随机函数rand()来初定初始值,再根据plot()的散点图的曲线趋势,再调整初始值,直到试验数据曲线与拟合函数曲线基本吻合,即R² ≈ 1(相关系数),此时得到的系数为最佳值.(前提,拟合模型符合试验数据)
再问: 能详细说一下怎么用随机函数吗
再答: b=[rand(1)*100 rand(1)*20 rand(1)*1]
再问: 100,,2,1是啥意思
再答: rand(1)*100的意思是,将随机函数rand()得到随机数扩?00倍。即 >> rand(1) ans = 0.95013 rand(1)*100=0.95013*100=95.013
 
 
展开全文阅读
剩余:2000