怎样使用Matlab拟合y=a*exp(bx)+c*exp(dx)曲线?用什么代码?
这个是要用最小二乘拟合么?现在知道一个向量x和向量y(当然y是恒正的),怎么用Matlab确定参数a,b,c,d啊?求教~代码也可以据说用什么cftools..不懂啊……...
这个是要用最小二乘拟合么?
现在知道一个向量x和向量y(当然y是恒正的),怎么用Matlab确定参数a,b,c,d啊?
求教~代码也可以
据说用什么cftools..不懂啊…… 展开
现在知道一个向量x和向量y(当然y是恒正的),怎么用Matlab确定参数a,b,c,d啊?
求教~代码也可以
据说用什么cftools..不懂啊…… 展开
2个回答
展开全部
p0=[1 1 1 1];
f=@(x,a,b,c,d)a*exp(b*x)+c*exp(d*x);
p=fminsearch(sum((@(p)f(xdata,p(1),p(2),p(3),p(4))-ydata).^2),p0,A,b)
f=@(x,a,b,c,d)a*exp(b*x)+c*exp(d*x);
p=fminsearch(sum((@(p)f(xdata,p(1),p(2),p(3),p(4))-ydata).^2),p0,A,b)
追问
求解释一下,p0,A,b这些是什么意思
追答
p0=[1 1 1 1];% a,b,c,d的初值
f=@(x,a,b,c,d)a*exp(b*x)+c*exp(d*x);%公式
p=fminsearch(sum((@(p)f(xdata,p(1),p(2),p(3),p(4))-ydata).^2),p0)%之前写错了,没有A,b;p为拟合后的a,b,c,d的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请先运行cftool命令,然后就懂了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询