matlab给数据求拟合方程,MATLAB 数据拟合问题如何用matlab求出这些点的二次多项式拟合方程的系数呢呢?请帮我写出M文件的内容吧,数据:x...

本文探讨了如何利用最小二乘法对含有冗余值的数据进行精确拟合,如将x=[1,1,1,1,1]对应y=[2,3,4,5,6]时,通过矩阵操作简化计算。同时介绍了polyfit函数和自定义算法实现。实例展示了使用多项式拟合x和y数据的过程。
摘要由CSDN通过智能技术生成

共回答了25个问题采纳率:84%

可以用的,而且冗余值越多对于最小二乘拟合越精确(前提是没有坏值)

比方说我一个x=1 有5个y 2,3,4,5,6

则把x写为x = [1 1 1 1 1]

y = [2 3 4 5 6]

就可以了.

程序楼上两位已经给了,借用下.

p = polyfit(x,y,2);

如果不想用polyfit,可以自己写一个,原理和polyfit其实是一样的

x=[5.50,6.75,7.25,5.50,7.00,6.50,6.75,5.25,5.25,6.00,6.50,6.25,7.00,6.90,6.80,6.80,7.10,7.00,6.80,6.50,6.25,6.00,6.50,7.00,6.80,6.80,6.50,5.75,5.80,6.80];

y=[7.38,8.51,9.52,7.50,9.33,8.28,8.75,7.30,7.20,8.00,7.89,8.15,9.10,8.86,8.90,8.87,9.26,9.00,8.75,7.95,7.65,7.27,8.00,8.50,8.75,9.21,8.27,7.67,7.93,9.26];

m = (x.*x)'

A = [m ,x' ,1]

para = inv(A'*A)*A'*y'

para里面为[a b c]

a为2次项系数,b为一次,c为常数.

1年前

3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值