matlab在科学计算中的应用(I)

matlab在科学计算中的应用(I)

ID:41057551

大小:1.45 MB

页数:52页

时间:2019-08-15

matlab在科学计算中的应用(I)_第1页
matlab在科学计算中的应用(I)_第2页
matlab在科学计算中的应用(I)_第3页
matlab在科学计算中的应用(I)_第4页
matlab在科学计算中的应用(I)_第5页
资源描述:

《matlab在科学计算中的应用(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、6.2.5样条插值的MATLAB表示样条函数的概念样条(spline):原指工程设计中使用的一种绘图工具(如富有弹性的细木条或金属条),应用其将已知点连接成一条光滑曲线(称为样条曲线),并使连接点处有连续的曲率.三次样条插值即由此抽象出来.样条函数:数学上将具有一定光滑性的分段多项式函数称为样条函数.具体的,给定区间[a,b]的一个划分:1三次样条插值-样条插值:利用样条函数进行插值(例如分段线性插值是一次样条插值)-三次样条插值:已知函数f(x)在区间[a,b]上的n个节点的函数值,求插值函数S(x)满足:2-定义三次样条函数类:S=csapi(x,y)其中x=[x1,x2,….,x

2、n],y=[y1,y2,…,yn]为样本点。S返回样条函数对象的插值结果,包括子区间点、各区间点三次多项式系数等。-可用fnplt()绘制出插值结果,其调用格式:fnplt(S)-对给定的向量xp,可用fnval()函数计算,其调用格式:yp=fnval(S,xp)其中得出的yp是xp上各点的插值结果。Matlab样条插值工具箱3例:已知y0=sin(x0),x0==[0,0.4,1,2,pi],求该函数三次样条插值结果解法:>>x0=[0,0.4,1,2,pi];y0=sin(x0);>>sp=csapi(x0,y0),fnplt(sp,'r:');holdon,sp=form:'p

3、p'breaks:[00.4000123.1416]coefs:[4x4double]pieces:4order:4dim:1>>ezplot('sin(t)',[0,pi]);>>plot(x0,y0,'o')4-在(0.4000,1)区间内,插值多项式可以表示为:-查看插值多项式>>sp.coefsans=-0.16270.00760.99650-0.1627-0.18760.92450.38940.0244-0.48040.52380.84150.0244-0.4071-0.36370.90935例:点,用三次样条插值的方法对这些数据进行拟合解法:>>x=0:.12:1;y=(x

4、.^2-3*x+5).*exp(-5*x).*sin(x);>>sp=csapi(x,y);fnplt(sp)6Columns7through120.48000.6000-0.24040.7652-0.57760.15880.60000.7200-0.47740.6787-0.40430.10010.72000.8400-0.45590.5068-0.26210.06050.84000.9600-0.45590.3427-0.16010.0356>>c=[sp.breaks(1:4)'sp.breaks(2:5)'sp.coefs(1:4,:),...sp.breaks(5:8)'sp

5、.breaks(6:9)'sp.coefs(5:8,:)]c=Columns1through600.120024.7396-19.35884.515100.12000.240024.7396-10.45260.93770.30580.24000.36004.5071-1.5463-0.50220.31050.36000.48001.91390.0762-0.67860.23587-格式S=csapi({x1,x2,…,xn},z)注:csapi()可处理多个自变量的网格数据三次样条插值类8>>x0=-3:.6:3;y0=-2:.4:2;[x,y]=ndgrid(x0,y0);%注意这里

6、只能用ndgrid,否则生成的z矩阵顺序有问题>>z=(x.^2-2*x).*…exp(-x.^2-y.^2-x.*y);>>sp=csapi({x0,y0},z);>>fnplt(sp);例:对函数解法:9三次样条数据插值-Matlab实现:函数spline格式yy=spline(x,y,xx)例:对离散分布在y=exp(x)sin(x)函数曲线上的数据点进行样条插值计算:>>x=[024581212.817.219.920];>>y=exp(x).*sin(x);>>xx=0:.25:20;>>yy=spline(x,y,xx);>>plot(x,y,'o',xx,yy)1011B

7、样条函数及其MATLAB表示S=spapi(k,x,y)-Matlab实现:12>>x0=[0,0.4,1,2,pi];>>y0=sin(x0);>>ezplot('sin(t)',[0,pi]);>>holdon>>sp1=csapi(x0,y0);>>fnplt(sp1,'--');%三次分段多项式样条插值例:y=sin(t)和解法:>>sp2=spapi(5,x0,y0);fnplt(sp2,'r:')%5次B样条插值13>>x=0:.1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。