MATLAB曲线拟合函数

MATLAB曲线拟合函数

一、多项式拟合

  • ployfit(x,y,n) :找到次数为 n 的多项式系数,对于数据集合 {(x_i,y_i)},满足差的平方和最小
  • [P,E] = ployfit(x,y,n) :返回同上的多项式 P 和矩阵 E 。多项式系数在向量 p 中,矩阵 E 用在 ployval 函数中来计算误差
  • 某数据的横坐标为 x= [0.2 0.3 0.5 0.6 0.8 0.9 1.2 1.3 1.5 1.8],纵坐标为 y = [1 2 3 5 6 7 6 5 4 1],对该数据进行多项式拟合
  • 代码
      clear all
      clc
      x = [0.2 0.3 0.5 0.6 0.8 0.9 1.2 1.3 1.5 1.8];
      y = [1 2 3 5 6 7 6 5 4 1];
      p5 = polyfit(x,y,5);               % 5 阶多项式拟合 
      y5 = polyval(p5,x);
      p5 = vpa(poly2sym(p5),5)           %显示 5 阶多项式
      p9 = polyfit(x,y,9);               % 9 阶多项式
      y9 = polyval(p9,x);
      figure;               
Matlab中用于曲线拟合函数是polyfit(x, y, n),其中x和y是数据点的横坐标和纵坐标,n是拟合多项式的阶次。这个函数可以找到一个次数为n的多项式,使得拟合数据与原始数据的差的平方和最小化。函数的返回值是多项式的系数。另外,可以使用polyval(p, x)函数来计算使用拟合多项式p对给定的横坐标x进行预测的纵坐标值。 在示例代码中,使用了polyfit函数将给定的数据点进行了5阶和9阶的多项式拟合。然后使用polyval函数根据拟合多项式计算了对应的纵坐标值,最后使用plot函数将原始数据点和拟合曲线绘制在一张图上。从图中可以看出,9阶多项式拟合的结果与原始数据更加符合。 需要注意的是,在使用polyfit函数进行拟合时,多项式的阶次不应超过数据点的数量减1。 LS方法是WLS方法的一种特例,相当于将每个基础数据的准确度都设为1。值得注意的是,自行编写的M文件和默认的命令结果可能会有不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MATLAB曲线拟合函数](https://blog.youkuaiyun.com/EliminatedAcmer/article/details/88408525)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值