Matlab中插值函数汇总及使用说明

Matlab中插值函数汇总及使用说明转自 https blog csdn net yiqianmingya article details MATLAB 中的插值函数为 interp1 其调用格式为 nbsp nbsp yi nbsp interp1 x y xi method nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 其中 x y 为插值点 yi 为在被插值点 xi 处的插值结果 x y 为向量 nbsp method 表示采用的插值方法 MATLAB 提供的插

转自:https://blog.csdn.net/yiqianmingyang/article/details/

MATLAB中的插值函数为interp1,其调用格式为:  yi= interp1(x,y,xi,’method’)           

其中x,y为插值点,yi为在被插值点xi处的插值结果;x,y为向量, ‘method’表示采用的插值方法,MATLAB提供的插值方法有几种: ‘method’是最邻近插值, ‘linear’线性插值; ‘spline’三次样条插值; ‘cubic’立方插值.缺省时表示线性插值

    注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围。

例如:在一 天24小时内,从零点开始每间隔2小时测得的环境温度数据分别为

            12,9,9,10,18 ,24,28,27,25,20,18,15,13,

推测中午12点(即13点)时的温度.

结果为:  27.8725

若要得到一天24小时的温度曲线,则:

xi=0:1/3600:24;

yi=interp1(x,y,xi, ‘spline’);

plot(x,y,’o’ ,xi,yi)

Matlab中插值函数汇总及使用说明

  1.  
  2. >>x = 0:10; y = x.*sin(x);
  3. >>xx = 0:.25:10; yy = interp1(x,y,xx);
  4. >>plot(x,y,’kd’,xx,yy)

复制代码

例2 

  1.  
  2. >> year = 1900:10:2010;
  3. >> product = [75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505
  4. 249.633 256.344 267.893 ];
  5. >>p1995 = interp1(year,product,1995)
  6. >>x = 1900:1:2010;
  7. >>y = interp1(year,product,x,’pchip’);
  8. >>plot(year,product,’o’,x,y)

复制代码

插值结果为: 

  1.  
  2. p1995 =
  3. 252.9885

复制代码

  1.  
  2. >>[X,Y] = meshgrid(-3:.25:3);
  3. >>Z = peaks(X,Y);
  4. >>[XI,YI] = meshgrid(-3:.125:3);
  5. >>ZZ = interp2(X,Y,Z,XI,YI);
  6. >>surfl(X,Y,Z);hold on;
  7. >>surfl(XI,YI,ZZ+15)
  8. >>axis([-3 3 -3 3 -5 20]);shading flat
  9. >>hold off

复制代码

例4: 

  1.  
  2. >>years = 1950:10:1990;
  3. >>service = 10:10:30;
  4. >>wage = [150.697 199.592 187.625
  5. 179.323 195.072 250.287
  6. 203.212 179.092 322.767
  7. 226.505 153.706 426.730
  8. 249.633 120.281 598.243];
  9. >>w = interp2(service,years,wage,15,1975)

复制代码

插值结果为: 

  1.  
  2. w =
  3. 190.6288

复制代码

  1.  
  2. >>[x,y,z,v] = flow(20);
  3. >>[xx,yy,zz] = meshgrid(.1:.25:10, -3:.25:3, -3:.25:3);
  4. >>vv = interp3(x,y,z,v,xx,yy,zz);
  5. >>slice(xx,yy,zz,vv,[6 9.5],[1 2],[-2 .2]); shading interp;colormap cool

复制代码

  1.  
  2. >>x = [0 2 4 5 8 12 12.8 17.2 19.9 20]; y = exp(x).*sin(x);
  3. >>xx = 0:.25:20;
  4. >>yy = spline(x,y,xx);
  5. >>plot(x,y,’o’,xx,yy)

复制代码

  1. [X,Y] = meshgrid(1:3,10:14)

复制代码

计算结果为: 

  1. X =
  2. 1 2 3
  3. 1 2 3
  4. 1 2 3
  5. 1 2 3
  6. 1 2 3
  7. Y =
  8. 10 10 10
  9. 11 11 11
  10. 12 12 12
  11. 13 13 13
  12. 14 14 14

复制代码

  1.  
  2. >>tab = [(1:4)’ hilb(4)]
  3. >>y = table1(tab,[1 2.3 3.6 4])

复制代码

查表结果为: 

  1.  
  2. >>tab = [(1:4)’ hilb(4)]
  3. >>y = table1(tab,[1 2.3 3.6 4])
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229095.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午5:29
下一篇 2026年3月16日 下午5:29


相关推荐

  • pytorch安装-国内镜像源

    pytorch安装-国内镜像源在安装好cuda和cudnn之后安装pytorch的方法网上很多的方法都不是镜像下载,或者镜像下载因为系统的问题找不到库打开官网,找到对应合适的版本(cuda):https://pytorch.org/get-started/locally/之后复制下面这一行指令:condainstallpytorchtorchvisiontorchaudiocudatoolkit=11.0-cpytorch接下来就是关键一步了,把-cpytorch表示的pytorch源,更改为国内的镜像。

    2022年6月24日
    64
  • mysql sql dateadd_sql数据库dateadd

    mysql sql dateadd_sql数据库dateadd最好避免在 where 子句中的列上运行函数 因为这会削弱数据库使用索引的能力 假设您的表中有 200 万行 其中 100 条是从 2020 年 2 月开始的 并且 date 列已建立索引 数据库可以优化查询 例如 WHEREdateBET 2020 02 01 AND 2020 02 29 使用索引并只检索它知道的那 100 行 但是它不能做到 WHEREYEAR date 2020ANDMONT

    2026年3月18日
    2
  • unity3d c# 产生真正的随机数

    unity3d c# 产生真正的随机数

    2022年1月4日
    61
  • 科研伦理与学术规范期末考试1题库「建议收藏」

    科研伦理与学术规范期末考试1题库「建议收藏」**科研伦理与学术规范期末考试1题库**自行复制到自己的文档当中便于搜索1.科研伦理与学术规范引论科研伦理与学术规范引论试题1、下列说法错误的是?A、所有的规范的评判都涉及到“善恶正邪”的价值判断B、伦理学已经从传统的以人为中心走向现代的以行为为中心C、现代伦理学主要关注以行为、准则、规范、义务D、规范则未必均是在道德层面上具有调整性参考答案:A2、哈佛模式下的引证规范的特点是?A、注释引证式B、插句式C、循环数字编码式D、MLA引用格式参考答案:B3、关于科研伦理和学术

    2022年7月11日
    18
  • seekg()与tellg()用法详解

    seekg()与tellg()用法详解对输入流操作:seekg()与tellg()对输出流操作:seekp()与tellp()下面以输入流函数为例介绍用法:seekg()是对输入文件定位,它有两个参数:第一个参数是偏移量,第二个参数是基地址。对于第一个参数,可以是正负数值,正的表示向后偏移,负的表示向前偏移。而第二个参数可以是:ios::beg:表示输入流的开始位置ios::cur:表示输入流的当前位置ios::end:表示输入流的结束位置tellg()函数不需要带参数,它返回当前定位指针的位置,也代表着输入流的大小。假设

    2022年6月5日
    56
  • VMware虚拟机三种联网方式(图文详细解说)

    VMware三种网络模式联网首先说一下VMware的几个虚拟设备安装了VMware虚拟机后,会在网络连接对话框中多出两个虚拟网卡,如图:VMnet0:用于虚拟桥接网络下的虚拟交换机VMnet1:用于虚拟Host-Only网络下的虚拟交换机VMnet8:用于虚拟NAT网络下的虚拟交换机VMwareNetworkAdepterVMnet1:Host用于与Host-Onl…

    2022年4月3日
    68

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号