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

--实验代数插值实验.docVIP

--实验代数插值实验.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共3页,可阅读全部内容。
  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文档。上传文档
查看更多
--实验代数插值实验

实验7 代数插值实验(2) 实验类型:●验证性实验 ○综合性实验 ○设计性实验 实验目的:进一步熟练掌握spline(样条)插值算法,提高编程能力和解决插值问题的实践技能。 实验内容:编写程序用计算机求解三次压紧样条曲线,经过点(0,0.0),(1,0.5),(2,2.0)和(3,1.5),而且一阶导数边界条件S’(0)=0.2和S’(3)=-1 实验原理 若已知N+1个点的及其一阶导数的边界条件S’(a)=和S’(b)=,则存在唯一的三次样条曲线。 构造并求解下列线性方程组 构造分段函数S(x): ; ; ; 实验说明 需要建立两个数组X,Y分别存放(,…,,(,…,,建立两个变量dxo、 dxn分别存放左右端点的一阶导数 dxo = S(x0) , dxn = S(xn) 实验步骤 1 要求上机实验前先编写出程序代码 2 编辑录入程序 3 调试程序并记录调试过程中出现的问题及修改程序的过程 4 经反复调试后,运行程序并验证程序运行是否正确。 5 记录运行时的输入和输出。 实验总结 实验报告: 根据实验情况和结果撰写并递交实验报告。 参考程序(MATLAB程序) 如下:主函数: x=[0 1 2 3] y=[0 0.5 2.0 1.5] dxo=0.2 dxn=-1 s=sanci(x,y,dxo,dxn)(调用) x1=0:0.001:1 y1=polyval(s(1,:),x1-x(1),3); x2=1:0.001:2 y2=polyval(s(2,:),x2-x(2),3); x3=2:0.001:3 y3=polyval(s(3,:),x3-x(3),3); plot(x1,y1,x2,y2,*,x3,y3,-) 调用函数:function s=sanci(x,y,dxo,dxn) n=length(x)-1; h=diff(x); d=diff(y)./h; a=h(2:n-1); b=2*(h(1:n-1)+h(2:n)); c=h(2:n); u=6*diff(d); b(1)=b(1)-h(1)/2; u(1)=u(1)-3*(d(1)-dxo); b(n-1)=b(n-1)-h(n)/2; u(n-1)=u(n-1)-3*(dxn-d(n)); for k=2:n-1 temp=a(k-1)/b(k-1); b(k)=b(k)-temp*c(k-1); u(k)=u(k)-temp*u(k-1); end m(n)=u(n-1)/b(n-1); for k=n-2:-1:1 m(k+1)=(u(k)-c(k)*m(k+2))/b(k); end m(1)=3*(d(1)-dxo)/h(1)-m(2)/2; m(n+1)=3*(dxn-d(n))/h(n)-m(n)/2; for k=0:n-1 s(k+1,1)=(m(k+2)-m(k+1))/(6*h(k+1)); s(k+1,2)=m(k+1)/2; s(k+1,3)=d(k+1)-h(k+1)*(2*m(k+1)+m(k+2))/6; s(k+1,4)=y(k+1); end 输入后结果如下: x = 0 1 2 3 y = 0 0.5000 2.0000 1.5000 dxo = 0.2000 dxn = -1 s = 0.4800 -0.1800 0.2000 0 -1.0400 1.2600 1.2800 0.5000 0.6800 -1.8600 0.6800 2.0000 然后绘图:

文档评论(0)

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

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

1亿VIP精品文档

相关文档