数值插值

一维插值

YI=interp1(X,Y,XI,METHOD) X、Y为采样点和样本值,XI为表示要插值的点,METHOD默认是线性插值'linear'

METHOD可以取

'nearest'  - 邻近点插值法

'linear'   - 线性插值

'spline'   - 三次样条插值

'pchip'    - 立方插值法

'cubic'    - same as 'pchip'

'v5cubic'  - MATLAB 5版本的cubic

二维插值

ZI = INTERP2(X,Y,Z,XI,YI,METHOD)

'nearest' - 邻近点插值法

'linear'  - 线性插值

'spline'  - 三次样条插值

'cubic'   - 如果数据间隔均匀使用双立方插值,否则使用三次样条插值

例 通过线性插值生成一个粗略的正弦函数图像

clear

clc

x=0:10;

y=sin(x);

xi=0:0.25:10;

yi=interp1(x,y,xi);

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

例 当Y为数组时,YI的维数为XI的行数×XI的列数×Y的长度

clear

clc

x=[1:10]';y=[x.^2,x.^3,x.^4];

xi=[1.5 1.75;7.5 7.75];

yi=interp1(x,y,xi);

size(yi)

结果

ans =

2 2 3

例 根据样本数据生成插值并绘制图像

clear

clc

t = 1900:10:1990;

p = [75.995 91.972 105.711 123.203 131.669...

150.697 179.323 203.212 226.505 249.633];

interp1(t,p,1975)

x = 1900:1:2000;

y = interp1(t,p,x,'spline');

plot(t,p,'o',x,y)

例 'cubic' method立方插值法绘制图像

clear

clc

x = 0:.2:pi; y = sin(x);

pp = interp1(x,y,'cubic','pp'); %得到立方插值法的分段多项式pp,pp.breaks可以看到各段端点值,pp.coefs为每段多项式(三次)系数

xi = 0:.1:pi;

yi = ppval(pp,xi); %根据分段多项式pp计算插值

plot(x,y,'ko'), hold on, plot(xi,yi,'r:'), hold off

曲线拟合

polyfit

P=polyfit(X,Y,N) X、Y为要拟合的数据,N代表N次多项式,返回值P为一个多项式

[P,S]=polyfit(X,Y,N) 除了返回一个多项式P,还返回一个结构体S

S.R:先根据输入的x构建范德蒙矩阵V,然后进行QR分解,得到的上三角矩阵

S.df:df=length(y)-(n+1)。df>0时,为超定方程组的求解,即拟合点数比未知数(p(1)~p (n+1))多

S.normr:残差范数,normr=norm(y-V*p),此处的p为求解之后的数值。

[P,S,MU]=polyfit(X,Y,N) 除了返回多项式P和结构体S,还返回结构体MU,MU为列向量,存的是X的均值和标准差MU(1)=mean(X),MU(2)=std(X)

clear

clc

x=0:0.1:1;

y=-2*x.^2+0.5

y1=y+(rand(1,length(y))-0.5)/50 %随机数加入偏差

[P,S,MU]=polyfit(x,y1,2)

plot(x,y,'o:',x,polyval(P,x),'r-')

插值拟合matlab程序,Matlab插值和拟合相关推荐

  1. matlab直线拟合的程序,MATLAB最小二乘法拟合直线的程序

    最小二乘法拟合直线 程序: function linear_fit %最小二乘法拟合直线clear; clc; prompt={'Name of data file'}; title='Linear_ ...

  2. 影像重采样matlab程序,matlab重采样代码

    本设计通过编 写 matlab 程序,借助对声音音色和音调的双重复合改变,实现输出声音的改变.共振 峰频 率的改变是基 于重采样 实现的,从重 采样原理 知道,这也同...... 本设计通过编 写 m ...

  3. 标号法matlab程序,matlab程序大全

    上例 Matlab 程序如下: %使用表8.4 给出的小波基 ld=[0 0.0... matlab经典代码大全_计算机软件及应用_IT/计算机_专业资料.哈哈哈 MATLAB 显示正炫余炫图:plo ...

  4. 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...

    MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc MATLAB实例源码教程龙格库塔法求解微分方程组源代码实例题目用经典 Runge-Kutta方法求下列一阶微分方程组的近似解y1 ...

  5. dmc matlab程序,matlab编的DMC程序.doc

    matlab编的DMC程序 clear all; % close all; %系统模型建立 num=[0.8]; den=[225 1]; [a,b,c,d]=tf2ss(num,den); % st ...

  6. 哈密顿圈 MATLAB程序,matlab求最佳哈密顿圈遇到错误

    问题描述: matlab求最佳哈密顿圈遇到错误 求最佳哈密顿圈遇到错误 程序如下 %用矩阵翻转方法来实现二边逐次修**过程,求最佳哈密尔顿圈(H圈) clc clear load('zd.mat'); ...

  7. 约束优化的matlab程序,Matlab多约束最优化问题请高手求助,我编的程序

    问题补充,这是我自己编的, 我刚学matlab没有多长时间,请大家帮忙看下程序有什么不对的地方! x1==csvread('x1.txt');    %x1  是300*10的矩阵 [x1,y,z,v ...

  8. 电动车动力性计算MATLAB程序,matlab计算汽车动力性经济性(已编好程序).pdf

    %% 汽车动力性计算(自己编的动力性计算程序,供大家计算动力性时参考,具体参数大家 根据所给程序对应输入,并对坐标轴数值按需要进行修改) clc; clear; close all; %%根据所给发动 ...

  9. 导出matlab程序,Matlab数据导入导出

    Matlab提供了从磁盘文件或剪贴簿转载数据至工作区(数据导入)和将工作区变量存入磁盘文件(数据导出)的多种途径. 最简单的办法是使用界面导入向导,打开文件菜单中的导入数据而后按提示操作. 一.导入文 ...

最新文章

  1. 小小聊天室,慢慢的回忆啊!(TCP 通信实现)
  2. MeeGo 1.2发布
  3. dropout理解(一)
  4. Apache Camel中的断路器模式
  5. 未能初始化appscan应用程序现在将关闭_企业区块链应用程序的两个关键问题
  6. Quartz配置文件详解生产配置
  7. 屏幕录制专家linux版,录屏大师免费版下载-录屏大师全新下载V3.5.3-Linux公社
  8. TiDB源码学习笔记:启动TiDB
  9. 完美屏蔽中国移动,四川手机报发的信息。
  10. 阿里云云计算助理工程师认证(ACA)
  11. Android 11.0 长按电源键直接关机屏蔽关机对话框
  12. ROS在同一节点同时订阅和发布消息
  13. 通过js实现图片与文字的转换
  14. 合肥计算机专业大学排名23,计算机专业大学排名
  15. LaTeX 段落:段落缩进、段落间距、行距
  16. iOS即时语音聊天技术实践
  17. LeetCode刷题-种花问题
  18. POJ3107Godfather找重心
  19. 从菜鸟到大师——Python量化之路
  20. VS2017常用快快捷键

热门文章

  1. centos linux 安装jq,在centos中安装jq时遇到问题
  2. 基因调控网络群体机器人(1)
  3. 三菱FX3G和台达,施耐德两台变频器的通讯示例 通过modbus rtu功能,实现三菱FX3G PLC通讯控制变频器正反转
  4. python 给PDF添加目录
  5. 微软ODBC服务器驱动,系统要求、安装和驱动程序文件
  6. 阅读器也能个性化?屏保加密换字体,掌阅一个都不少
  7. 给员工的一封信:在职业生涯规划的框架中工作
  8. 海康威视研究院算法岗实习
  9. 微信公众平台开发(3)--成为开发者并购置服务器环境
  10. 让Project把周六和周日也计算工期