matlab中已知x,y数据,如何非线性拟合得到方程y=a/(1+(a/60.2-1)*exp(-b*x))中的a,b的值。
2个回答
展开全部
先输入x和y的数据。然后在matlab的工作栏输入cftool.在弹出来的拟合工具箱内选择变量为你的x和y.然后右边的拟合方法选择custom equation,然后输入你要拟合的式子的形式,按fit就可以拟合了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
目前没想到什么好方法,仅做参考:
最大似然法:
令f(x,y | a,b)=y-a/(1+(a/60.2-1)*exp(-b*x)),令(x_i, y_i)为一个样本点。
那么均方误差E(a,b)=sum_{i=1}^n { (f(x_i, y_i | a, b)^2 }。
令grad(E)=0,求得最优的a和b。
可以查一查偏微分方程的数值解法,自己写一个程序,解grad(E)=0。
最大似然法:
令f(x,y | a,b)=y-a/(1+(a/60.2-1)*exp(-b*x)),令(x_i, y_i)为一个样本点。
那么均方误差E(a,b)=sum_{i=1}^n { (f(x_i, y_i | a, b)^2 }。
令grad(E)=0,求得最优的a和b。
可以查一查偏微分方程的数值解法,自己写一个程序,解grad(E)=0。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询