数值计算常见编程汇总20.docxVIP

  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文档。上传文档
查看更多
数值计算常见编程汇总20

秦九韶法 利用秦九韶算法求多项式p(x)=x^5-3x^4+4x^2-x+1在x=3时的值。 x=input(请输入x:); n=input(请输入多项式最高幂数n:); a=input(请按照升幂顺序写出系数矩阵:); v0=a(n+1); for k=1:n v1=v0*x+a(n+1-k); v0=v1; end v=v0 请输入x:3 请输入多项式最高幂数n:5 请按照升幂顺序写出系数矩阵:[1 -1 4 0 -3 1] v =34 二分法 用二分法求方程x^3-x-1=0在[1,2]内的近似根,要求误差不超过10-3 a=1; b=2; fa=a^3-a-1; fb=b^3-b-1; c=(a+b)/2; fc=c^3-c-1; if fa*fb0 ,break ,end while abs(fc)0.001 c=(a+b)/2; fc=c^3-c-1; if fa*fc0; b=c; fb=fc; else a=c; fa=fc; end end format long fx=fc, x=c fx = -4.659488331526518e-05 x = 1.324707031250000 拉格朗日差值法: 已知点(1 0)、(2 7)、(3 16)求x=4的值。 x=input(以行向量形式输入x的取值); y=input(以行向量形式输入y的取值); n=input(多项式的次数); x1=input(计算在x处的函数值,x1=); for k=1:(n+1) l(k)=1; end for k=1:(n+1) for i=1:k-1 l(k)=l(k)*(x1-x(i))/(x(k)-x(i)); end for i=(k+1):(n+1) l(k)=l(k)*(x1-x(i))/(x(k)-x(i)); end end p=0; for k=1:n+1 p=p+l(k)*y(k); end disp(p); 以行向量形式输入x的取值[1 2 3] 以行向量形式输入y的取值[0 7 16] 多项式的次数2 计算在x处的函数值,x1=4 27 分段插值法: 已知点(0 0.9)、(4 3.4)、(6 5.8)(8 8.9)(10 12)求x=7.5的值。 x = [0 4 6 8 10]; y = [0.9 3.4 5.8 8.9 12]; n = length(x); x0=input(输入待求x0的值:); for i=1:n-1 if x0 x(1) || x0 x(n) disp(不符合条件,无法进行分段插值); break; end if x(i) = x0 x0 x(i+1) f = y(i) + ( y(i+1) - y(i)) / ( x(i+1)-x(i) ) * ( x0 - x(i) ); end end F 输入待求x0的值:7.5 f =8.1250 牛顿差值 已知点(2 3),(3 7),(5 9),(8 12)求x=7的值 x0=2;x1=3;x2=5;x3=8; y0=3;y1=7;y2=9;y3=12; x=7; f11=(y1-y0)/(x1-x0); f12=(y2-y0)/(x2-x0); f13=(y3-y0)/(x3-x0); f22=(f12-f11)/(x2-x1); f23=(f13-f11)/(x3-x1); f33=(f23-f22)/(x3-x2); N=y0+f11*(x-x0)+f22*(x-x1)*(x-x0)+f33*(x-x2)*(x-x1)*(x-x0); p=N p = 9.6667 分段三次插值: 已知:p(0)=0,p(1)=3,p(2)=12,p(3)=33,p,(0)=2,p,(1)=5,p,(2)=14,p,(3)=29,用分段三次插值法求解p(1.2) clc; x=input(已知x的取值); y=input(已知y的取值); yy=input(已知y的一阶导数的取值); n=input(‘请输入x值的个数:’); x0=input(x0的取值);y0=0; for i=1:n-1 if(x0x(1)||x0x(n)) disp(输入的值不在所给范围内); break; end if(x(i)=x0x0x(i+1)) h=x(i+1)-x(i); t=(x0-x(i))/h; y

文档评论(0)

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

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

1亿VIP精品文档

相关文档