B样条的Matlab的程序是什么呀

B样条的Matlab的程序是什么呀,第1张

去这里看看!!http://wenku.baidu.com/view/dc4d1c40a8956bec0975e3b2.html

MATLAB中样条函数命令

B样条函数

splst显示生成B样条函数的M文件

spmak生成B样条函数

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

spapi插值生成B样条函数

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

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

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

三次样条函数

函 数描述

csapi 插值生成三次样条函数

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

csaps 平滑生成三次样条哗带函数

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

getcurve 动态生成三次样条曲线

分段多项式样条函

pplst 显示关于生成分段多项式样条氏芦银曲线的M文件

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

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

有理样条函数

rpmak 生成有理样条函数

rsmak 生成有理样条函歼宴数

*** 作样条函数

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

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

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

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

方法一:转自yihandk666

x=[0 0.1 0.16 0.27 0.41 0.48 0.59 0.8]

y=[5 9 70 118 100 17 0 5]

那么用plot画出的函数为折线,如下图:

要想把那个折点平滑掉。像论文中那样,具体采用样条函数:下面是档拿猜样条函数的定义:

spline function 一类分段(片)光滑、并且在各段交接处也有一定光滑性的函数。简称样条。样条一词来源于行型工程绘图人员为了将一些指定点连接成一条光顺曲线所使用的工具,即 富有d性的细木条或薄钢条。由这样的样条形成的曲线在连接点敏岁处具有连续的坡度与曲率。分段低次多项式、在分段处具有一定光滑性的函数插值就是模拟以上原理 发展起来的,它克服了高次多项式插值可能出现的振荡现象,具有较好的数值稳定性和收敛性,由这种插值过程产生的函数就是多项式样条函数。

大概意思就是让转折点变平滑,下面就是采用这种方式:

values = spcrv([[x(1) x x(end)][y(1) y y(end)]],3)

plot(values(1,:),values(2,:))

具体里面的原理我也没看过,不过目的是达到了 下面是结果

方法二:转自greatdju

figure:

x1=[0.8395 0.7995 0.7895 0.7867 0.7857 0.7853 0.7847 ]

y1=[1.11E-01 4.64E-02 1.19E-03 1.77E-04 1.57E-05 3.45E-06 2.55E-07 ]

subplot(1,2,1)

semilogy(x1,y1)  %原来的折线

title('左边:原来的折线')

x2=linspace(min(x1),max(x1))

y2=interp1(x1,y1,x2,'cubic')

subplot(1,2,2)

semilogy(x2,y2)  %处理后的曲线

title('右边:处理后的曲线')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12383358.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存