文章目录

  • 写在开始
  • 两种形式
    • 1、s = spline(x,y,xq)
    • 2、pp = spline(x,y)

写在开始

开始之前,先放一个官方的解释, 详细的官方解释Mathworks跳转

两种形式

spline的两种形式是

s = spline(x,y,xq) ;
pp = spline(x,y);

s = spline(x,y,xq) 返回与 xq 中的查询点对应的插值 s 的向量。s 的值由 x 和 y 的三次样条插值确定。
pp = spline(x,y) 返回一个分段多项式结构体以用于 ppval 和样条实用工具 unmkpp。
在matlab里面,我们仅需要知道的是这两个函数怎么用以及各个参数的含义。真正的计算在这里不做讲解,想要了解的可以参考文献三次样条插值函数的构造与Matlab实现

1、s = spline(x,y,xq)

由已知的点插值计算得到正弦曲线

x = [0 1 2.5 3.6 5 7 8.1 10];
y = sin(x);
xx = 0:.25:10;
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy,'x')
%一般(xx,yy)绘图中使用的是'-'或者省略不写,这样的图是连续的,是将两个点用横线连接
%这里为方便看到效果,采用'x'

结果如图

可以看出,插值计算得到的yy是与xx对应的纵坐标,计算的方法主要是采用三次多项式。详解看上述提到的文献三次样条插值函数的构造与Matlab实现
使用此式子的前提是,要知道目标曲线(你要通过插值计算得到的曲线)中的坐标点(x,y),以及需要进行插值的位置xx

2、pp = spline(x,y)

这个返回的是一个结构体(需要知道的是,结构体的成员可以进行不同数据类型的赋值,而数组的成员必须是同一类型的),结构体里面的成员有很多:form,breaks,coefs,pieces 等等。
仍以一个例子进行说明:画圆

x = pi*[0:.5:2]; %圆上的点 0-2pi,
y = [0 1 0 -1 0 1 0; %目标曲线的离散化(找到目标曲线的特征点)1 0 1 0 -1 0 1]; %第一行是图中的x0坐标,第二行是y0坐标,
%可以看到(x0,y0)有重复的,圆在(1,0)开始和结束,所以,有两个(1,0)
%y比x多两列,spline 使用 y(:,1) 和 y(:,end) 作为端点斜率。
pp = spline(x,y);     %生成一个结构体
xx=linspace(0,2*pi,101); %决定在哪些位置需要插值计算
yy = ppval(pp, xx);  %在xx处计算分段多项式,得到插值的结果
plot(yy(1,:),yy(2,:),'xb',y(1,2:5),y(2,2:5),'or')
axis equal

运行的结果如下:

以上就是spline的全部内容。到现在的话,应该对Spline函数有了更加深刻的认识吧!

MATLAB中的三次样条插值spline函数相关推荐

  1. matlab 中的三次样条插值函数spline使用说明

    GSS第一篇博客文章 DA matlab 中的三次样条插值函数spline使用说明 spline(x,y,xx) matlab 中的三次样条插值函数spline使用说明 spline(x,y,xx) ...

  2. Matlab中用于数据预测spline()函数的使用

    Matlab中用于数据预测spline()函数的使用 ​ 再matlab中spline函数是利用三次方样条数据插值 语法 s = spline(x,y,xq) pp = spline(x,y) s = ...

  3. MATLAB中的一维插值与函数拟合

    本文主要记录Matlab中常用的一维插值与函数拟合的使用方法 文章目录 前言 一.一维插值 二.函数拟合 2.1 多项式拟合 2.1.1多项式拟合指令 2.1.2 图形窗口的多项式拟合 2.2 指定函 ...

  4. matlab中load seamout,matlab中的save与load函数

    matlab中的save与load函数 用save函数,可以将工作空间的变量保存成txt文件或mat文件等. 比如: save peng.mat p j 就是将工作空间中的p和j变量保存在peng.m ...

  5. 邹检验 matlab,科学网—Matlab中一个很有用的函数:regionprops - 邹兴文的博文

    Matlab中一个很有用的函数:regionprops 已有 6712 次阅读 2010-1-30 22:52 |个人分类:开发经验|系统分类:科研笔记| 有用的函数, regionprops Mat ...

  6. 函数调用matlab,Matlab中一个函数调用另外一个函数的操作方法

    这篇文章为各位带来的内容是Matlab中一个函数调用另外一个函数相关的,对此感兴趣的用户可以去下文看看Matlab中一个函数调用另外一个函数的操作教程. Matlab中一个函数调用另外一个函数的操作方 ...

  7. matlab怎么调用主函数,Matlab中一个函数调用另外一个函数的操作步骤

    原创Matlab中一个函数调用另外一个函数的操作步骤 编辑:小安 来源:PC下载网时间:2019-11-18 13:27:35 最近很多伙伴才刚刚安装入手Matlab这款软件,而本节就重点介绍了关于M ...

  8. Matlab中产生正态分布随机数的函数normrnd-----用来产生高斯随机矩阵

     Matlab中产生正态分布随机数的函数normrnd-----用来产生高斯随机矩阵 功能:生成服从正态分布的随机数 语法: R=normrnd(MU,SIGMA) R=normrnd(MU,SI ...

  9. Matlab中print, fprint, fscanf, disp函数的用法

    最近一直在用python,导致学习的一些函数就有点混淆,趁着这会儿看代码,就再回顾下Matlab中print, fprint, fscanf, disp函数的用法 一.print() 函数可以把函数图 ...

  10. MATLAB代码实现三次样条插值

    参照<数值分析 第五版(李庆扬)>P42 2.6.2样条插值函数的建立 目的是可以通过读取文本文件中提前存储的坐标点,来实现三边界种类型的三次样条插值 F.m function resul ...

最新文章

  1. SnackBar使用注意事项
  2. 如何在Git中克隆所有远程分支?
  3. Vue 组件间的通讯
  4. ubuntu命令安装jdk
  5. CentOS7开机启动图形界面的开启与关闭
  6. 217. Contains Duplicate
  7. hdu 2072单词数
  8. NLP系列学习:CRF条件随机场(1)
  9. java怎么给框架添加背景图,java里怎么给Container添加背景图片
  10. 计算机中用于描述音乐乐曲并,计算机中用于描述音乐乐曲并由声卡合成出音乐来的语言(规范)为。...
  11. js中鼠标事件mouseover、mouseenter和mouseleave、mouseout的区别
  12. 手工测试人员如何转测试开发?
  13. dsolve函数的功能_MATLAB 求解常微分方程的函数是dsolve()。
  14. 自学简单编程可行吗?
  15. cbrt c语音_cbrt (Numerics) – C 中文开发手册 - Break易站
  16. vue3 Component inside <Transition> renders non-element root node that cannot be animated.
  17. 数据库系统原理(一)引言
  18. 计算机组成,南北桥,倍频,通信,频率一致才可以通信
  19. 艰难的一年!2021年计算机考研年度总结!
  20. 吃鸡自定义服务器在哪买,内马尔沉迷《绝地求生大逃杀》难自拔!申请自定义服务器获官方如此回复...

热门文章

  1. 收藏夹整理——程序员笔试面试
  2. 计算机知识竞赛 翻译,英文简历之常见学科竞赛中英文翻译
  3. NUC8 i5beh 黑苹果macOS Monterey 12.3.1安装教程
  4. Android自定义进度条拖动,Android之ProgressBar(进度条)和SeekBar(拖动条)
  5. Justinmind使用教程(5)——Justinmind破解
  6. 各大浏览器兼容性问题
  7. 图形学中走样(Aliasing)和反走样(Antialiasing)
  8. shopnc 设置mysql_shopnc 数据库配置
  9. re学习笔记(65)BUUCTF - re - [GKCTF2020]Chellys identity
  10. 福永苹果服务器维修,苹果维修记录iphone app store更新打不开的解决方法