• MATLAB数值计算与数据分析(3)


    2.2  插值、拟合与查表

    插值法是实用的数值方法,是函数逼近的重要方法。在生产和科学实验中,自变量x与因变量y的函数y = f(x)的关系式有时不能直接写出表达式,而只能得到函数在若干个点的函数值或导数值。当要求知道观测点之外的函数值时,需要估计函数值在该点的值。

    如何根据观测点的值,构造一个比较简单的函数y=φ(x),使函数在观测点的值等于已知的数值或导数值。用简单函数y=φ(x)在点x处的值来估计未知函数y=f(x)在x点的值。寻找这样的函数φ(x),办法是很多的。φ(x)可以是一个代数多项式,或是三角多项式,也可以是有理分式;φ(x)可以是任意光滑(任意阶导数连续)的函数或是分段函数。函数类的不同,自然地有不同的逼近效果。在许多应用中,通常要用一个解析函数(一、二元函数)来描述观测数据。

    根据测量数据的类型:

    1.测量值是准确的,没有误差。

    2.测量值与真实值有误差。

    这时对应地有两种处理观测数据方法:

    1.插值或曲线拟合。

    2.回归分析(假定数据测量是精确时,一般用插值法,否则用曲线拟合)。

    MATLAB中提供了众多的数据处理命令。有插值命令,有拟合命令,有查表命令。

    2.2.1  插值命令

    命令1  interp1

    功能  一维数据插值(表格查找)。该命令对数据点之间计算内插值。它找出一元函数f(x)在中间点的数值。其中函数f(x)由所给数据决定。各个参量之间的关系示意图为图2-14。

    图2-14  数据点与插值点关系示意图

    格式  yi = interp1(x,Y,xi)        %返回插值向量yi,每一元素对应于参量xi,同时由向量x与Y的内插值决定。参量x指定数据Y的点。若Y为一矩阵,则按Y的每列计算。yi是阶数为length(xi)*size(Y,2)的输出矩阵。

    yi = interp1(Y,xi)          %假定x=1:N,其中N为向量Y的长度,或者为矩阵Y的行数。

    yi = interp1(x,Y,xi,method)   %用指定的算法计算插值:

    ’nearest’:最近邻点插值,直接完成计算;

    ’linear’:线性插值(缺省方式),直接完成计算;

    ’spline’:三次样条函数插值。对于该方法,命令interp1调用函数spline、ppval、mkpp、umkpp。这些命令生成一系列用于分段多项式操作的函数。命令spline用它们执行三次样条函数插值;

    ’pchip’:分段三次Hermite插值。对于该方法,命令interp1调用函数pchip,用于对向量x与y执行分段三次内插值。该方法保留单调性与数据的外形;

    ’cubic’:与’pchip’操作相同;

    ’v5cubic’:在MATLAB 5.0中的三次插值。

    对于超出x范围的xi的分量,使用方法’nearest’、’linear’、’v5cubic’的插值算法,相应地将返回NaN。对其他的方法,interp1将对超出的分量执行外插值算法。

    yi = interp1(x,Y,xi,method,'extrap')     %对于超出x范围的xi中的分量将执行特殊的外插值法extrap。

    yi = interp1(x,Y,xi,method,extrapval)  %确定超出x范围的xi中的分量的外插值extrapval,其值通常取NaN或0。

    例2-31

    >>x = 0:10; y = x.*sin(x); 

    >>xx = 0:.25:10; yy = interp1(x,y,xx); 

    >>plot(x,y,'kd',xx,yy)

    插值图形为图2-15。

    <
  • 相关阅读:
    vue项目中如何使用websocket(步骤)
    WIN11任务栏出现空白,卡任务栏的解决办法
    Python 全栈系列200 Redis Agent
    MyBatis逆向工程
    写进简历的软件测试项目实战经验(包含电商、银行、app等)
    栈和堆什么意思,Rust所有权机制又是什么
    SpringBoot Kafka生产者 多kafka配置
    如何实现一个数据库的 UDF?图数据库 NebulaGraph UDF 功能背后的设计与思考
    “前端”工匠系列(二):合格的工匠,怎么做好价值落地
    C++知识精讲9——sqrt函数函数基本使用方法以及实战讲解
  • 原文地址:https://blog.csdn.net/weixin_41429382/article/details/127830152