polyfit和polyval进行曲线拟合

一、polyfit和polyval简介

      polyfitpolyval是MATLAB中用于多项式拟合和多项式求值的两个非常有用的函数。它们经常一起使用,以分析数据、建立模型以及进行预测。以下是这两个函数的简介:

1. polyfit函数

     polyfit函数是matlab中用于进行曲线拟合的一个函数。其数学基础最小二乘法曲线拟合原理。曲线拟合:已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值。polyfit函数用于根据给定的数据点(x, y坐标)拟合出一个多项式函数。其基本语法为:

   p = polyfit(x, y, n)

      其中,xy是数据点的横纵坐标,n是多项式的次数。p是拟合出的多项式系数,按降幂排列,即p(1)是最高次项系数,p(n+1)是常数项。

2. polyval函数

  polyval函数用于计算多项式函数在指定点的值。其基本语法为:

       其中,p是多项式系数向量,x是指定的点(可以是一个数或一个向量),y是多项式在这些点上的值。

      下面给出一个综合运用polyfit和polyval进行数据预测时实例:

二、程序

clear all;
close all;
clc;
% 数据  
x = (0: 1: 9)';
y = [0.1  1.2  3.9 9.5 16.1 26 37 52 66 83.5]';
p = polyfit(x, y, 2);  % 使用二次多项式拟合
% 计算拟合后的多项式在原始数据点上的值  
y_fit = polyval(p, x);  
x1=10:1:12;
y1=polyval(p,x1);
% 绘制原始数据点、拟合曲线和预测点位置
plot(x, y, 'o', x, y_fit, '-',x1,y1,'+','linewidth',2);  
legend('原始数据', '拟合曲线','预测值');  
xlabel('x');  
ylabel('y');  
title('多项式拟合示例');  
grid on;
    xlim([0,16]);
    ylim([-20,130]);
% 预测新点的值  
x_new = [10 11];  %预测当x取3和10时的预测值
y_new = polyval(p, x_new);  
disp(['当x取10和11时的预测值分别为:', num2str(y_new)]);

三、运行结果

 

    如果觉得本文对你有帮助,请关注、点赞和收藏!

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值