数值分析-课程设计论文—样条求导.docVIP

  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文档。上传文档
查看更多
课程设计报告 课程设计题目:样条求导 姓 名 : 专 业 : 班 级 : 指导教师 : 时 间 : 题目: 找一个已知函数,分别用样条求导方法和简化样条求导方法求其数值导数,和精确值比较,画出导数的图象,并指出它们的异同。原函数: 一、摘要 在matlab环境下熟悉用熟悉的计算机语言编程上机完成在某一点u处的导数,必须将u作为节点,其缺点显而易见。若,根据三次样条插值,有 , --------(1)[1] ,其实不必也有,,即先做的三次样条插值多项式,再求在任意一点的一阶甚至二阶导数,,,作为在相应点的一阶或二阶数值导数在区间作的三次样条函数,,有 ,其中,假设节点是等距的,则 ,--------(2) [1] 由于 因此基本方程组(三对角方程组)为 , --------(3) [1] 加上第一类边界条件 将代入(2)式,然后对求导,得 ,--------(4) [1] 上式再对求导,得 ,--------(5) [1] 从而 , --------(6) [1] , --------(7) [1] (4)、(5)、(6)、(7)统称为样条求导公式 2、简化样条求导法 简化(j=0,1, n)的求解,避免解三对角方程组,首先用三点或五点公式求出节点处的导数以替代(j=0,1, n)直接代入(4)、(5)式中便可求得一阶和二阶导数。 ①分段三点求导公式 ,,对于任取的相邻三点由三点公式,有 [1] ②分段五点求导公式【1】 由五点公式, 三、程序代码及运算结果 3次样条m固支边界法 h=0.2; x=-1:h:1; y=x.^3+x.^2; [m,n]=size(x); m0=1;mn=5; H=[]; landa=[]; mu=[]; for i=1:n-1 H(i)=x(i+1)-x(i); end; for i=1:n-2 landa(i)=H(i+1)/(H(i)+H(i+1)); mu(i)=1-landa(i); end; c=[]; for i=1:n-2 c(i+1)=3*(landa(i)*(y(i+1)-y(i))/H(i)+mu(i)*(y(i+2)-y(i+1))/H(i+1)); end; c(1)=m0; c(n)=mn; a=zeros(n,n); a(1,1)=1; a(n,n)=1; for i=2:n-1 a(i,i)=2; a(i,i-1)=landa(i-1); a(i,i+1)=landa(i-1); end; m=inv(a)*c; for j=1:n-1 t=x(j):h/(n-1):x(j+1); X(j,:)=t; Y1(j,:)=2*((t-x(j+1)).*(3*t-2*x(j)-x(j+1)+h)*y(j)-(t-x(j)).*(3*t-x(j)-2*x(j+1)-h).*y(j+1))/(x(j+1)-x(j))^3+((t-x(j+1)).*(3*t-2*x(j)-x(j+1))*m(j)+(t-x(j)).*(3*t-x(j)-2*x(j+1))*m(j+1))/(h)^2; Y2(j,:)=((6*t-2*x(j)-4*x(j+1))*m(j)+(6*t-4*x(j)-2*x(j+1))*m(j+1))/h^2+6*(x(j)+x(j+1)-2*t)*(y(j+1)-y(j))/h^3; end syms t; for j=1:n-1 S1(j)=vpa(simple(2*((t-x(j+1))*(3*t-2*x(j)-x(j+1)+h)*y(j)-(t-x(j))*(3*t-x(j)-2*x(j+1)-h)*y(j+1))/(x(j+1)-x(j))^3+((t-x(j+1))*(3*t-2*x(j)-x(j+1))*m(j)+(t-x(j))*(3*t-x(j)-2*x(j+1))*m(j+1))/(h)^2),5); S2(j)=vpa(simple(((6*t-2*x(j)-4*x(j+1))*m(j)+(6*t-4*x(j)-2*x(j+1))*m(j+1))/h^2+6*(x(j)+x(j+1)-2*t)*(y(j+1)-y(j))/h^3),5); endr=-1:0.001:1; hold on plot(r,3*r.^2+2

文档评论(0)

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

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

1亿VIP精品文档

相关文档