matlab的程序设计33975new.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的程序设计33975new.doc

班级:材料0904 学号:0座机电话号码3 姓名:廖松义 实验一 1、编程实现以下科学计算算法,并举一例应用之。(参考书籍《MATLAB与科学计算》,王沫然著,电子工业出版社,2009年) “三次样条插值” 算法说明:三次样条也是分片三次插值函数,它是在给定的区间[a,b]上的一个划分:a x0 x1 … xn b,已知函数f x 在xj上的函数值为 f xj yj ,(j 0,1,2,3...,n 如果存在分段函数 满足下述条件: S x 在每一个子区间 [ xj-1,xj ],(j 0,1,2,3...,n 上是三次多项式; S x 在每一个内接点 (j 0,1,2,3...,n 具有直到二阶的连续导数; 则成为节点x0,x1,…,xn 上的三次样条函数。 若 S x 在节点 x0,x1,…,xn 上海满足插值条件: (3)S xj yj (j 0,1,2,3...,n 则称 S x 为三次样条插值函数。 由(1)知,S x 在每一个小区间[ xj-1,xj ]上是一三次多项式,若记为Sj x ,则可设: Sj x ajx3+bjx2+cjx+dj 要确定函数S x 的表达式,需确定4n个未知数 aj,bj ,cj, dj (j 0,1,2,3...,n)。 由(2)知S x ,S x ,S x 在内节点x1, x2,....,xn-1上连续,则 Ⅰ型 S xj-0 S xj+0 Ⅱ型 S xj-0 S xj+0 Ⅲ型 S xj-0 S xj+0 j 0,1,2,3...,n-1 可得3n-2个方程,又由条件(3)S xj yj j 0,1,2,3...,n 得n个方程,共得到4n-2个方程。要确定4n个未知数,还差俩个方程。 通常在端点x0 a. xn b处各附加一个条件 称边界条件,常见有三种: 自然边界条件:S x0 S xn 0 固定边界条件:S x0 f x0 ,S x f xn 周期边界条件:S x0 S xn ,S x0 S xn 共4n个方程,可唯一的确定4n个未知数 算法分析: 按照传统的编程方法,可将公式直接转换成MATLAB可识别的语言即可;另一种是运用矩阵运算,发挥MATLAB在矩阵运算上的优势。两种方法都可以方便的得到结果。这里给出方法一的程序。由于应用Ⅱ型边界条件,故取名叫spline2.m 流程图: (1) (2) 源代码: function s spline2 x0,y0,y21,y2n,x %s spline2 x0,y0,y21,y2n,x %x0,y0 are existed points,x are insert points,y21,2n are the second %dirivitive numbers given. n length x0 ; km length x ; a 1 -0.5; b 1 3* y0 2 -y0 1 / 2* x0 2 -x0 1 ; for j 1: n-1 h j x0 j+1 -x0 j ; end for j 2: n-1 alpha j h j-1 / h j-1 +h j ; beta j 3* 1-alpha j * y0 j -y0 j-1 /h j-1 +alpha j * y0 j+1 -y0 j /h j ; a j -alpha j / 2+ 1-alpha j *a j-1 ; b j beta j - 1-alpha j *b j-1 / 2+ 1-alpha j *a j-1 ; end m n 3* y0 n -y0 n-1 /h n-1 +y2n*h n-1 /2-b n-1 / 2+a n-1 ; for j n-1 :-1:1 m j a j *m j+1 +b j ; end for k 1:km for j 1: n-1 if x k x0 j x k x0 j+1 l k j; end end end for k 1:km sum 3* x0 l k +1 -x k ^2/h l k ^2-2* x0 l k +1 -x k ^3/h l k ^3 *y0 l k ; sum sum+ 3* x k +1 -x0 l k ^2/h l k ^2-2* x k -x0 l k ^3/h l k ^3 *y0 l k +1 ; sum sum+h l k * x0 l k +1 -x k ^2/h l k ^2- x0 l k +1 -x k ^3/h l k ^3 *m l k ; s k sum-h l k * x k -x0 l k

文档评论(0)

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

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

1亿VIP精品文档

相关文档