数值分析matlab程序实例.docVIP

  • 54
  • 0
  • 约4.36千字
  • 约 9页
  • 2017-08-28 发布于重庆
  • 举报
数值分析matlab程序实例

1,秦九韶算法,求出P(x=3)=2+4x+5x^2+2x^3的值 clear?all; x=3; n=3; a(1)=2;a(2)=4;a(3)=5;a(4)=2 v(1)=a(n+1); for k=2:(n+1); v(k)=x*v(k-1)+a(n-k+2); end?p=v(n+1) p =, 113 2,一次线型插值程序:利用100.121.求115的开方。 clear all; ?x1=100;x2=121;y1=10;y2=11; ?x=115; l1=(x-x2)/(x1-x2);l2=(x-x1)/(x2-x1); p1=l1*y1+l2*y2p1 = ? ?10.7143 3,分段插值程序,已知0,0),(1,1),(2,5)(3, 8)上的分段一次插值,求S1(1.5). clear all x=[0 1 2 3]; y=[0 1 5 8]; n=length(x);a=1.5; for i=2:n if(x(i-1)=ax(i));end end H1=y(i-1)+(y(i)-y(i-1))/(x(i)-x(i-1))*(a-x(i-1)) H1 = 3.5000 4)曲线拟合:用一个5次多项式在区间[0,2π]内逼近函数sin(x)。 clear all X=linspace(0,2*pi,50);Y=sin(X); [P,S]=polyfit(X,Y,5) plot(X,Y,k*,X,polyval(P,X),k-) P = -0.0056 0.0874 -0.3946 0.2685 0.8797 0.0102 S = R: [6x6 double] df: 44 normr: 0.0337 5)求有理分式的导数 clear all P=[3,5,0,-8,1,-5]; Q=[10,5,0,0,6,0,0,7,-1,0,-100]; [p,q]=polyder(P,Q) 6)将以下数据按从小到大排序:4.3 5.7 5.2 1.8 9.4 a=[4.3 5.7 5.2 1.8 9.4];b(1:100)=0;n=1; b(a*10)=1; for k=1:100 a(n)=k/10; if b(k)0 a(n)=k/10; n=n+1; end end a a = 1.8000 4.3000 5.2000 5.7000 9.4000 10.0000 7) 用二分法求方程x3-x-1=0在[1,2]内的近似根,要求误差不超过10-3。 clear all n=ceil(3*log2(10)-1);a=1;b=2; for k=0:n x=(a+b)/2; if(a^3-a-1)*(x^3-x-1)0 a=x; end if(a^3-a-1)*(x^3-x-1)0 b=x; end end x x = 1.3252 求 的估值 8)梯形公式: clear all a=1;b=2;n=3; h=(b-a)/2;T=1; for i=1:n; u=(a+(i-1)*h)^4+(a+i*h)^4; T=T+h/2*u; end T T = 21.5469 9)辛卜生公式: clear all a=1;b=2;n=3; h=(b-a)/2;T=1; for i=1:n; T=T+h/6*((a+(i-1)*h)^4+4*((a+(i-1)*h+h/2)^4)+(a+i*h)^4); end T T = 20.3320 10)复化二点高斯f(x)= 2-x^2在区间[a,b]=[ ? 5],n=10 clear all; f=2-x^2; f=inline(f); a=3; b=5; n=10; h=(b-a)/n;t=2*3^0.5; x(1)=a;s=0; for i=2:n+1 x(i)=x(i-1)+h; c=(x(i)+x(i-1))/2; s=s+f(c-h/t)+f(c+h/t); end s=s*h/2; disp(s); -28.6667 11)牛顿插值 clear all x0=0;x1=1;x2=2; y0=0;y1=1;y2=4;x=2; f11=(y1-y0)/(x1-x0); f12=(y2-y0)/(x2-x0); f22=(f12-f11)/(x2-x1); N2=y0+f11*(x-x0)+f22*(x-x1)*(x-x0) N2 = 4 12)复化矩形公式 clear all; f=x^3; f=inline(f); a=2; b=5; n=10; h=(b-a)/n;

文档评论(0)

1亿VIP精品文档

相关文档