曲线拟合(多项式函数+MATLAB实例)
创作时间:
作者:
@小白创作中心
曲线拟合(多项式函数+MATLAB实例)
引用
CSDN
1.
https://m.blog.csdn.net/weixin_46308081/article/details/116566819
曲线拟合是数据分析中常用的技术手段,通过多项式函数可以很好地拟合数据并进行预测。本文将详细介绍如何使用MATLAB进行曲线拟合,包括关键函数的使用方法和具体案例分析。
一.拟合所需函数
这里我们主要考虑用多项式函数去进行曲线拟合
(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年发生了天灾人祸使得前十年的数据严重不符,那么这一阶段的数据就可以舍弃。
曲线拟合作用
- 预测趋势
- 总结规律
- 估算数据
热门推荐
猫咪遗传疾病的那些事儿:从近亲繁殖到科学管理
大友克洋与今敏:超现实主义动画的双子星
电动车油门没反应但有电?4个常见原因及解决方案
从这6个方面,打造家庭的“仪式感”,治愈孩子的一生!
酒喝高了怎么办?自救指南助你迅速解酒
医生解答:六种实用方法缓解酒后不适和恶心
吃什么降低皮质醇最快
额头脂肪瘤手术应选择哪个科室
自动化测试中脚本参数化的实现方法与实践
探访渭南:司马迁墓、西岳庙、桥陵的历史探秘
古代命理学复兴:文化传承还是玄学迷信?
用思维导图优化工作流程,提升团队效率
短视频带火地方民俗,能否推动文旅新发展?
掌握数据结构与算法:俄罗斯方块的高效编程实践
秋冬宝宝便秘高发?儿科医生教你科学应对!
药品受潮还能服用吗?哪些药品最容易受潮,该如何保存……
告别尿不湿:让宝宝轻松学会自主如厕
幼儿园开学季:告别尿不湿依赖
正确储存药品,保障健康和安全
黄鑫教你如何通过散文写作疗愈自己
胆囊摘除后遗症用什么中药好
Transformer如何颠覆传统机器翻译?
如何打造聊天场景的极致沉浸感
美媒紧盯DeepSeek:美国人还能保住AI领先地位吗,巨额投入是否值得?
IMDb公布2024年度最受欢迎电影榜单:《死侍与金刚狼》夺冠
重在细节!个税汇算典型案例与风险提示
糖尿病可以吃热米皮吗
500万奖金如何玩转股债金海投?
《米小圈》和《麦小米的100个烦恼》:助力二年级写作提升的实用指南
500万奖金投资攻略:大额存单+私人银行+ETF如何配?