曲线拟合(多项式函数+MATLAB实例)
创作时间:
作者:
@小白创作中心
曲线拟合(多项式函数+MATLAB实例)
引用
CSDN
1.
https://m.blog.csdn.net/weixin_46308081/article/details/116566819
本文将介绍如何使用MATLAB进行曲线拟合,重点讲解polyfit和polyval两个函数的使用方法,并通过一个预测人口的具体案例来展示如何应用这些函数。
一.拟合所需函数
这里我们主要考虑用多项式函数去进行曲线拟合
(1)polyfit 函数
功能:求得结果为最小二乘法拟合的多项式系数。
格式:
p = polyfit(X,Y,n);
X,Y为进行拟合的样本数据,类型为矩阵。n为拟合的多项式次数,看散点图判断拟合次数。p为拟合后返回的多项式系数矩阵。
[p,s] = polyfit(X,Y,n);
返回两个结果,s为采样点的误差数据
[p,s,mu] = polyfit(X,Y,n);
返回三个结果,mu是一个二元向量,其中mu(1)是X的平均值即mean(X), mu(2)是X的标准差即std(X)。
(2)polyval 函数
功能:求得在上面函数所得的p系数下,某一点预测的函数值。
格式:
polyval(p,15);
返回值为X=15时的函数值。
二.举例(预测人口)
(1)问题数据
某地区2010-2020人口数据:
x 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020
y 3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 63.0
(2)求解
我们先分步求解,后面有完整代码
【1】先查看散点图趋势
x=2010:1:2020;
y=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6, 50.2,63.0];
plot(x,y,'*');
【2】进行多项式函数拟合(这里可以尝试不同的次数择优选取)
p = polyfit(x,y,2);
plot(x,y,'*',x,polyval(p,x))
可以看到结果基本吻合
【3】可以继续进行预测未来的人口
polyval(p,2021)
ans =
74.4776
(3)完整代码
x=2010:1:2020;
y=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6, 50.2,63.0];
p = polyfit(x,y,2);
plot(x,y,'*',x,polyval(p,x))
polyval(p,2021);
(4)注意点
我们在选取数据时,并不是数据越多越好。
在选取数据时,同时要考虑到实际情况,就比如说对人口预测,可能前10年发生了天灾人祸使得前十年的数据严重不符,那么这一阶段的数据就可以舍弃。
曲线拟合作用
- 预测趋势
- 总结规律
- 估算数据
热门推荐
麻将打骰子取牌顺序
房颤消融术后顶部依赖性房扑的临床特点与消融策略研究
怎么制定有效的施工安全管理及风险控制方案?
如何创作出有电影质感的文字
如何准确判断股票市场的技术形态变化?这种技术形态变化对投资决策有何影响?
长期低于0.6% 日本银行业突围净息差之困
梦见进行考核的深层含义
从希腊浓稠奶酪到新疆纯正风味:酸奶新吃法大揭秘!
中医说中脉是什么意思?
人在不进食的情况下能活多久?美二战时的饥饿实验,揭示残忍真相
无为无不为的深度解释,探讨这一哲学思想的真正含义
青椒炒鸡蛋的功效与营养价值
服用他汀避开这些药物?一文详解他汀类药物的使用指南
需求挖掘四步法:系统化销售与管理的实用指南
长沙好大夫口腔和美奥口腔哪个好?从口碑/价格表/医生介绍了解下
第62个“学雷锋纪念日”,上海黄浦区开展系列主题活动
为什么一些欧洲篮球明星到 NBA 打不出来?
长期坚持早起的人,竟会有这些惊人变化
梦见成熟的稻谷:周公解梦中的丰收与寓意
提高乒乓球技术的12步大法!使你快速涨球,赢球不是梦!
同化作用类型:自养型与异养型
农村教育与人力资本建设
孙璐璐:多元背景的网球新秀闪耀温网赛场
医保卡办理更换指南:了解更换流程和所需材料
未来5年,普通人如何抓住养生行业万亿蓝海?这6大趋势必须看懂!
不良生活习惯引起的疾病 《黄帝内经》教您“防”与“调”
开高速时想睡觉怎么办?这些应对和预防疲劳驾驶的方法请收好
早晨跑步=全天萎靡?别让晨跑偷走你的精气神
梦见金元宝是什么意思,好不好?
如何优化Bootstrap页面加载速度?