网站大量收购独家精品文档,联系QQ:2885784924

matlab在科学计算中的应用062.pptVIP

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.2.5样条插值的MATLAB表示 - 定义三次样条函数类: S=csapi(x,y) 其中x=[x1,x2,….,xn], y=[y1,y2,…,yn]为样本点。 S返回样条函数对象的插值结果,包括子区间点、各区间点三次多项式系数等。 - 可用 fnplt()绘制出插值结果,其调用格式: fnplt(S) - 对给定的向量xp, 可用fnval()函数计算, 其调用格式: yp=fnval(S,xp) 其中得出的yp是xp上各点的插值结果。 例:已知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:); hold on, sp = form: pp breaks: [0 0.4000 1 2 3.1416] coefs: [4x4 double] pieces: 4 order: 4 dim: 1 ezplot(sin(t),[0,pi]); plot(x0,y0,o) 例: 解法: x=0:.12:1; y=(x.^2-3*x+5).*exp(-5*x).*sin(x); sp=csapi(x,y); fnplt(sp) Columns 7 through 12 0.4800 0.6000 -0.2404 0.7652 -0.5776 0.1588 0.6000 0.7200 -0.4774 0.6787 -0.4043 0.1001 0.7200 0.8400 -0.4559 0.5068 -0.2621 0.0605 0.8400 0.9600 -0.4559 0.3427 -0.1601 0.0356 - 格式 S=csapi({x1,x2,…,xn},z) 例:对函数 x0=-3:.6:3; y0=-2:.4:2; [x,y]=ndgrid(x0,y0); % 注意这里只能用 ndgrid, 否则生成的 z 矩阵 顺序有问题 z=(x.^2-2*x).*… exp(-x.^2-y.^2-x.*y); sp=csapi({x0,y0},z); fnplt(sp); 三次样条数据插值 -Matlab实现: 函数spline 格式 yy = spline(x,y,xx) 例:对离散分布在y=exp(x)sin(x)函数曲线上的数据点进行样条插值计算: x = [0 2 4 5 8 12 12.8 17.2 19.9 20]; y = exp(x).*sin(x); xx = 0:.25:20; yy = spline(x,y,xx); plot(x,y,o,xx,yy) B样条函数及其MATLAB表示 S=spapi(k,x,y) x0=[0,0.4,1,2,pi]; y0=sin(x0); ezplot(sin(t),[0,pi]); hold on sp1=csapi(x0,y0); fnplt(sp1,--); % 三次分段多项式样条插值 x=0:.12:1; y=(x.^2-3*x+5).*exp(-5*x).*sin(x); ezplot((x^2-3*x+5)*exp(-5*x)*sin(x),[0,1]), hold on sp1=csapi(x,y); fnplt(sp1,--); sp2=spapi(5,x,y); fnplt(sp2,r:) 6.2.6 基于样条插值的数值微积分运算 基于样条插值的数值微分运算 格式: Sd=fnder(S,k) 该函数可以求取S的k阶导数。 格式: Sd=fnder(S,[k1,…,kn]) 可以求取多变量函数的偏导数 例: 例: 解法: Step1:拟合曲面 x0=-3:.3:3; y0=-2:.2:2; [x,y]=ndgrid(x0,y0); z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y); sp=spapi({5,5},… {x0,y0},z); %B样条 dspxy=fnder(sp,[1,1]); fnplt(dspxy) %生成样条图 理论方法: syms x y; z=(x^

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档