最小二乘法的matlab程序

 我来答
飞笛尧琳晨
2019-12-09 · TA获得超过3586个赞
知道大有可为答主
回答量:3045
采纳率:26%
帮助的人:378万
展开全部
。。。。。从y里面把b和c的部分剪掉,然后就不要用二次拟合了,用1次,p=polyfit(x^2,y-bx-c,1),这样就行了!
greatdju
2011-02-13 · TA获得超过2.2万个赞
知道大有可为答主
回答量:2486
采纳率:50%
帮助的人:4141万
展开全部
在matlab中以lsq打头的系列函数,如lsqcurvefit、lsqlin、lsqnonlin、lsqnonneg等都是用最小二乘法解优化问题的函数,你可以自己看他们的帮助文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kinfar
推荐于2018-02-19 · TA获得超过976个赞
知道小有建树答主
回答量:208
采纳率:50%
帮助的人:248万
展开全部
我给你个最小二乘拟合的例子自己体会一下:
下面给定的是乌鲁木齐最近1个月早晨7:00左右(新疆时间)的天气预报所得到的温度数据表,按照数据找出任意次曲线拟合方程和它的图像。
(2008年10月26~11月26)
天数 1 2 3 4 5 6 7 8 9 10
温度 9 10 11 12 13 14 13 12 11 9
天数 11 12 13 14 15 16 17 18 19 20
温度 10 11 12 13 14 12 11 10 9 8
天数 21 22 23 24 25 26 27 28 29 30
温度 7 8 9 11 9 7 6 5 3 1

下面应用Matlab编程对上述数据进行最小二乘拟合
Matlab程序代码:
x=[1:1:30];
y=[9,10,11,12,13,14,13,12,11,9,10,11,12,13,14,12,11,10,9,8,7,8,9,11,9,7,6,5,3,1];
a1=polyfit(x,y,3) %三次多项式拟合%
a2= polyfit(x,y,9) %九次多项式拟合%
a3= polyfit(x,y,15) %十五次多项式拟合%
b1= polyval(a1,x)
b2= polyval(a2,x)
b3= polyval(a3,x)
r1= sum((y-b1).^2) %三次多项式误差平方和%
r2= sum((y-b2).^2) %九次次多项式误差平方和%
r3= sum((y-b3).^2) %十五次多项式误差平方和%
plot(x,y,'*') %用*画出x,y图像%
hold on
plot(x,b1, 'r') %用红色线画出x,b1图像%
hold on
plot(x,b2, 'g') %用绿色线画出x,b2图像%
hold on
plot(x,b3, 'b:o') %用蓝色o线画出x,b3图像%
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式