matlab的最小二乘法编程,请直接发代码上来
数据是:x=0.00.20.40.60.81.01.2y=0.91.92.83.34.05.76.5...
数据是:
x=0.0
0.2
0.4
0.6
0.8
1.0
1.2
y=0.9
1.9
2.8
3.3
4.0
5.7
6.5 展开
x=0.0
0.2
0.4
0.6
0.8
1.0
1.2
y=0.9
1.9
2.8
3.3
4.0
5.7
6.5 展开
2个回答
展开全部
function hh
xdata=[0.0 0.2 0.4 0.6 0.8 1.0 1.2]
ydata=[0.9 1.9 2.8 3.3 4.0 5.7 6.5]
b=polyfit(xdata,ydata,1)
[a,RESNORM,RESIDUAL,EXITFLAG] = lsqcurvefit(@myfun, [1 1], xdata, ydata)
plot(xdata,ydata,'o',xdata,polyval(b,xdata))
function F = myfun(a,xdata)
F = a(1)*xdata+a(2);
结果:
b =
4.5714 0.8429
Optimization terminated: first-order optimality less than OPTIONS.TolFun,
and no negative/zero curvature detected in trust region model.
a =
4.5714 0.8429
RESNORM =
0.4829
RESIDUAL =
-0.0571 -0.1429 -0.1286 0.2857 0.5000 -0.2857 -0.1714
EXITFLAG =
xdata=[0.0 0.2 0.4 0.6 0.8 1.0 1.2]
ydata=[0.9 1.9 2.8 3.3 4.0 5.7 6.5]
b=polyfit(xdata,ydata,1)
[a,RESNORM,RESIDUAL,EXITFLAG] = lsqcurvefit(@myfun, [1 1], xdata, ydata)
plot(xdata,ydata,'o',xdata,polyval(b,xdata))
function F = myfun(a,xdata)
F = a(1)*xdata+a(2);
结果:
b =
4.5714 0.8429
Optimization terminated: first-order optimality less than OPTIONS.TolFun,
and no negative/zero curvature detected in trust region model.
a =
4.5714 0.8429
RESNORM =
0.4829
RESIDUAL =
-0.0571 -0.1429 -0.1286 0.2857 0.5000 -0.2857 -0.1714
EXITFLAG =
展开全部
有的,你在matlab里输入edit
fsolve,就可以查看最小二乘法的程序了!!!
或者搜一本书大概叫《matlab的最优化方法》找最小二乘法,里面有原理、还有源程序!!!,我曾经还编过最小二乘法fortran程序。可是找了一晚上也没找到,可能丢了。
---------------------------------===========fsolve的源程序=============--------------------------------------------
太多了贴不上来。。。。。。。
fsolve,就可以查看最小二乘法的程序了!!!
或者搜一本书大概叫《matlab的最优化方法》找最小二乘法,里面有原理、还有源程序!!!,我曾经还编过最小二乘法fortran程序。可是找了一晚上也没找到,可能丢了。
---------------------------------===========fsolve的源程序=============--------------------------------------------
太多了贴不上来。。。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询