本文介绍了用matlab进行样条曲线的建立操作与绘制;示例给出了样条曲线的建立,求值,求导,绘制

Matlab样条工具箱中的函数提供了样条的建立,操作,绘制等功能;

一. 样条函数的建立

第一步是建立一个样条函数,曲线或者曲面。这里的样条函数,根据前缀,分为4类:

cs*   三次样条

pp*   分段多项式样条,系数为t^n的系数

sp*   B样条, 系数为基函数B_n^i(t)的系数

rp*   有理B样条

二. 样条操作

样条操作包括:函数操作:求值,算术运算,求导求积分等等

节点操作:主要是节点重数的调节,设定,修改等等

三. 简单示例

% step1: load ctrlpoints and knots

load data_example

% step 2: create the spline

sp = spmak(knots,ctrlpoints');

fnplt(sp,[knots(5),knots(42)]);

% step 3: get points on the curve

dt = knots(5):3:knots(42);

p = fnval(sp,dt);

plot(p(1,:),p(2,:),'.g')

% step 4: get dir draw normals

dp1 = fnder(sp);

dp = fnval(dp1,dt);

len = size(dt,2);

for i = 1:len

dir = dp(:,i);

scale = 1/sqrt(dir(1)^2+dir(2)^2);

dir = dir*scale;

plot([p(1,i),p(1,i)+dir(2)],[p(2,i),p(2,i)-dir(1)],'r');

end

示例结果

附:样条工具箱函数

1. 三次样条函数

csapi    插值生成三次样条函数

csape    生成给定约束条件下的三次样条函数

csaps    平滑生成三次样条函数

cscvn    生成一条内插参数的三次样条曲线

getcurve 动态生成三次样条曲线

2. 分段多项式样条函数

ppmak 生成分段多项式样条函数

ppual 计算在给定点处的分段多项式样条函数值

3. B样条函数

spmak 生成B样条函数

spcrv 生成均匀划分的B样条函数

spapi 插值生成B样条函数

spap2 用最小二乘法拟合生成B样条函数

spaps 对生成的B样条曲线进行光滑处理

spcol 生成B样条函数的配置矩阵

4. 有理样条函数

rpmak 生成有理样条函数

rsmak 生成有理样条函数

5. 样条操作函数

fnval 计算在给定点处的样条函数值

fmbrk 返回样条函数的某一部分(如断点或系数等)

fncmb 对样条函数进行算术运算

fn2fm 把一种形式的样条函数转化成另一种形式的样条函数

fnder 求样条函数的微分(即求导数)

fndir 求样条函数的方向导数

fnint 求样条函数的积分

fnjmp 在间断点处求函数值

fnplt 画样条曲线图

fnrfn 在样条曲线中插入断点。

fntlr 生成tarylor系数或taylor多项式

6. 样条曲线端点和节点处理函数

augknt 在已知节点数组中添加一个或多个节点

aveknt 求出节点数组元素的平均值

brk2knt 增加节点数组中节点的重次

knt2brk 从节点数组中求得节点及其重次

knt2mlt 从节点数组中求得节点及其重次

sorted 求出节点数组的元素在另一节点数组中属于第几个分量

aptknt 求出用于生成样条曲线的节点数组

newknt 对分段多项式样条函数进行重分布

optknt 求出用于内插的最优节点数组

chbpnt 求出用于生成样条曲线的合适节点数组

matlab 样条工具箱,Matlab 样条工具箱(Spline ToolBox) | 学步园相关推荐

  1. matlab设l创建网络,利用matlab进行简单的贝叶斯网络构建 | 学步园

    matlab的安装 第一次装matlab,装好后发现没有在桌面生成图标,还以为是最后提示的编译器没有安装.结果发现,matlab的图标在其安装的bin目录下面,进行初始化就能开始使用了 关于贝叶斯网络 ...

  2. matlab nsga-ii,NSGA-II Matlab toolbox | 学步园

    NSGA-II是一个很成熟的多目标优化 NSGA-II matlab代码,网上比较有名的是Aravind Seshadri写的,采用的是BSD许可证. 这里做一下简要的使用介绍: objective_ ...

  3. matlab与c/c++混合...,matlab与c/c++ 混合编程之 MCR | 学步园

    什么是MCR? MCR之前是 matlab component runtime的缩写,后更名为 matlab compiler runtime.MCR实际上是一组独立的共享库,也即是常说的动态连接库, ...

  4. matlab输出高质量图片,Matlab 画平滑轮廓 print 高质量 figure | 学步园

    Matlab 画平滑轮廓 print 高质量 figure 在matlab中,想将分割的结果以轮廓的形式显示到灰度图上,要提取.绘制平滑轮廓. 自己提取轮廓.绘制,不方便,效果差. matlab提供了 ...

  5. matlab 摄氏度符号怎么打,MATLAB中如何打角标和希腊字母 | 学步园

    声明:这是转载 很多时候都要在matlab画图的时候添加一些公式符号之类的,有一些特殊的字符并不能直接从键盘上输入,比如希腊字母等等.但是有想用,因为这样使图看起来漂亮而且容易理解. 例如:我想输入摄 ...

  6. matlab频域积分,matlab数值积分实现(时域频域积分) | 学步园

    最近做有关加速度的数据处理,需要把加速度积分成位移,网上找了找相关资料,发现做这个并不多,把最近做的总结一下吧! 积分操作主要有两种方法:时域积分和频域积分,积分中常见的问题就是会产生二次趋势.关于积 ...

  7. matlab正弦函数fft,正弦函数及其FFT变换(一) | 学步园

    在MATLAB中想要画一个sin函数是很容易的,比如:首先定义t = 0:0.01:10,然后画出y = sin(2*pi*t)就可以了,最多再加相角啊之类的参数,但如果在C语言中应该如何自己制造一个 ...

  8. matlab gui uiwaitbar,MATLAB GUI嵌入进度条(waitBar) | 学步园

    基本就是参考:http://www.ilovematlab.cn/thread-61732-1-1.html,改了点点方便用 function mywaitbar(x,num,varargin) if ...

  9. matlab用lu求逆矩阵,Matlab实现——求矩阵的逆(LU分解) | 学步园

    Program  ( :Solve By Factorization with Pivoting ) 思路及原理: 就得到: 程序: function X=Ni(A) %Input - A is an ...

最新文章

  1. matlab求解外弹道,基于MATLAB∕Simulink的通用质点外弹道程序设计.pdf
  2. 惊呆了,Spring中竟然有12种定义bean的方法
  3. Oracle 11g R2 RAC 高可用连接特性
  4. PHP文件函数 记录日志功能
  5. java只有高跟很高_女明星们为了合影不输,练就踩高跷本领,鞋跟一个比一个高!...
  6. iOS coredata 多表查询
  7. 奥巴马访华:不建议过度审查 提倡加强互联网开放
  8. sm缩写代表什么意思_pe、PE在电气有代表什么意思,你发现没有,电气技术很有意思...
  9. 清除浮动造成的影响的解决方案总结
  10. Zend Server搭建网站备注
  11. 【AI视野·今日Robot 机器人论文速览 第十四期】Thu, 24 Jun 2021
  12. hdu 1213 HowManyTables 并查集
  13. web的demo制造_基于Web的制造追溯系统DEMO
  14. SQLite 如何取出特定部分数据
  15. 牛客 动物森友会(最大流+二分)
  16. 网件rax40可以刷梅林_良心曝光网件rax40和华硕ax3000哪个好用?差别大吗?亲测解析内情...
  17. python ipad 微信_用Python玩微信(非常详细)
  18. C# for循环99乘法表
  19. 如何按照规格型号表挑选合适的快速接头
  20. 【task09】集合运算---内连结

热门文章

  1. html 表单提交 地址栏 显示=%cc%ed%bc%d3 ,HTML代码详细解析---具体代码名称
  2. 国际知名无人机实验室(截止2021年4月)
  3. 高通 Android 8/9/12/13 兼容U盘识别extfat模式
  4. 使用python tkinter做window窗体界面程序,以及python多线程处理解决tk界面卡死
  5. 解决uniapp 小程序 vendor.js过大 大于500K 无法转换ES5问题
  6. C语言-float型数据的有效位数。
  7. ffmpeg和opencv源码搭建
  8. LoRA学习: SX1276/SX1277/SX1278对比
  9. NOIP 普及组 2016 回文日期
  10. 流形学习(Manifold Learning)简单介绍