三次样条插值的Matlab实现自然边界和第一边界条件.docxVIP

三次样条插值的Matlab实现自然边界和第一边界条件.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
/14 /14 (第一边界条件)源代码: function y=ytl(xO,yO,f_O,f_n,x) (1) %第一类边界条件下三次样条插值; %xi所求点; %yi所求点函数值; %x已知插值点; %y己知插值点函数值; %f_0左端点一次导数值; 右端点一次导数值;%f_nn = length(xO); z = length(yO); h = zeros(n-l,l); k=zeros(n-乙 2); l=zeros(n-2,l); S=2*eye(n); fori=l:n-l h(i)= xO(i+l)-xO(i); end fori=l:n2 k(i)= h(i+2)/(h(i+2)+h(i)); l(i)二 l-k(i); end %对于第一种边界条件: k = [l;k]; (2) I = [l;l]; ⑶ %构建系数矩阵S: fori = l:n-l S(izi+1) = k(i); S(i+lJ) = l(i); end %建立均差表: F=zeros(n-1,2); fori = l:n-l F(U) = (yO(i+l)-yO(i))/(xO(i+l)-xO(i)); end D = zeros(n-乙 2); fori = l:n-2 F(12) = (F(i+l/l)-F(i/l))/(x0(i+2)-x0(i)); D(i,l) = 6*F(i,2); end %构建函数D: dO = 6*(F(l,2)-f_0)/h(l); ⑷ 2/4 dn = 6*(f_n-F(n-l,2))/h(n-l); (5) D = [dO;D;dn]; (6) m= S\D; %寻找X所在位置,并求出对应插值: fori = l:le ngth(x) for j = l:n-l if (x(i)=xO(j+l))(x(i)=xO(j)) y(i) =( m(j)*(xO(j+l)-x(i))A3)/(6*h(j))+... (m(j+l)*(x(i)-xO(j))A3)/(6*h(j))+... (yO(j)-(m(j)*h(j)A2)/6)*(xO(j+l)-x(i))/h(j)+... (yO(j+l)-(m(j+l)*h(j)A2)/6)*(x(i)-xO(j))/h(j); break; else continue; end end end (2)(自然边界条件)源代码: 仅仅需要对上而部分标注的位置做如下修改: _(l):function y=yt2(xO,yO,x) _(2):k=[0;k] 4/4 4/4 —⑶:| 二【|;0] 3/4 (4)+⑸删除 —(6):D 二[0:D:0]

文档评论(0)

尐丶丑 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档