matlab 两个变量 拟合公式

matlab 两个变量 拟合公式,第1张

使用lsqcurve(f,xo,xdata,ydata);你要求的量在f的表达式中写成x(1),x(2),f=@(x),x0=rand(2,1),
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]);


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13367379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-22
下一篇 2023-07-22

发表评论

登录后才能评论

评论列表(0条)

保存