xdata和ydata是你的数据,他会返回x(1)和x(2)function
parameter=customfit(f,x,y,startpoint)
%用最小二乘法求曲线拟合的程序。
%f是待求函数,x和y是取样点坐标,parameter是待求系数,startpoint是系数初值
f2=@(p)(sum((f(x,p)-y)^2));
parameter=fminsearch(f2,startpoint);
例子
x=[001
01
05
075
1
125
15
175
2
225
25];
y=[24
33
135
189
24
27
35
37
41
47
58];
f=@(x,p)(p(1)x^2+p(2)x);%p是待求系数,x是自变量
p=customfit(f,x,y,[1
1]);%这里取[1
1]为初值,你也可以尝试其它值
%p(1)就是p1,p(2)就是p2
%%%%%%%%
%画图
plot(x,y,'o');hold
on;
fplot(@(x)(f(x,p)),[-5,3]);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)