数值分析大作业 三、四、五、六、七(35页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数值分析大作业 三、四、五、六、七(35页).doc》由会员分享,可在线阅读,更多相关《数值分析大作业 三、四、五、六、七(35页).doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-大作业 三1. 给定初值及容许误差,编制牛顿法解方程f(x)=0的通用程序.解:Matlab程序如下:函数m文件:fu.mfunction Fu=fu(x)Fu=x3/3-x;end函数m文件:dfu.mfunction Fu=dfu(x)Fu=x2-1;end用Newton法求根的通用程序Newton.mclear;x0=input(请输入初值x0:);ep=input(请输入容许误差:);flag=1;while flag=1 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)epflag=0; endx0=x1;endfprintf(方程的一个近似解为:%fn,x0
2、); 寻找最大值的程序:Find.mcleareps=input(请输入搜索精度:);ep=input(请输入容许误差:);flag=1;k=0;x0=0;while flag=1 sigma=k*eps;x0=sigma; k=k+1; m=0; flag1=1; while flag1=1 & m=103 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)=ep flag=0; endendfprintf(最大的sigma值为:%fn,sigma);2求下列方程的非零根解:Matlab程序为:(1) 主程序clearclcformat longx0=765;N=100;
3、errorlim=10(-5);x=x0-f(x0)/subs(df(),x0);n=1;while nerrorlimn=n+1;elsebreak;endx0=x;enddisp(迭代次数: n=,num2str(n)disp(所求非零根: 正根x1=,num2str(x), 负根x2=,num2str(-x)(2)子函数 非线性函数ffunction y=f(x)y=log(513+0.6651*x)/(513-0.6651*x)-x/(1400*0.0918);end(3) 子函数 非线性函数的一阶导数dffunction y=df()syms x1y=log(513+0.6651*x
4、1)/(513-0.6651*x1)-x1/(1400*0.0918);y=diff(y);end运行结果如下:迭代次数: n=5所求非零根: 正根x1=767.3861 负根x2=-767.3861大作业 四分析:(1)输出插值多项式。 (2)在区间-5,5内均匀插入99个节点,计算这些节点上函数f(x)的近似值,并在同一张图上画出原函数和插值多项式的图形。 (3)观察龙格现象,计算插值函数在各节点处的误差,并画出误差图。解:Matlab程序代码如下:%此函数实现y=1/(1+4*x2)的n次Newton插值,n由调用函数时指定%函数输出为插值结果的系数向量(行向量)和插值多项式functi
5、on t y=func5(n)x0=linspace(-5,5,n+1);y0=1./(1.+4.*x0.2);b=zeros(1,n+1);for i=1:n+1 s=0; for j=1:i t=1; for k=1:i if k=j t=(x0(j)-x0(k)*t; end; end; s=s+y0(j)/t; end; b(i)=s;end; t=linspace(0,0,n+1);for i=1:n s=linspace(0,0,n+1); s(n+1-i:n+1)=b(i+1).*poly(x0(1:i); t=t+s;end;t(n+1)=t(n+1)+b(1);y=poly2
6、sym(t);10次插值运行结果: b Y=func5(10)b = Columns 1 through 4 -0.0000 0.0000 0.0027 -0.0000 Columns 5 through 8 -0.0514 -0.0000 0.3920 -0.0000 Columns 9 through 11 -1.1433 0.0000 1.0000Y = - (7319042784910035*x10)/147573952589676412928 + x9/18446744073709551616 + (256*x8)/93425 - x7/1152921504606846976 - (
7、28947735013693*x6)/562949953421312 - (3*x5)/72057594037927936 + (36624*x4)/93425 - (5*x3)/36028797018963968 - (5148893614132311*x2)/4503599627370496 + (7*x)/36028797018963968 + 1b为插值多项式系数向量,Y为插值多项式。插值近似值: x1=linspace(-5,5,101); x=x1(2:100); y=polyval(b,x)y = Columns 1 through 12 2.7003 3.9994 4.3515
8、 4.0974 3.4926 2.7237 1.9211 1.1715 0.5274 0.0154 -0.3571 -0.5960 Columns 13 through 24 -0.7159 -0.7368 -0.6810 -0.5709 -0.4278 -0.2704 -0.1147 0.0270 0.1458 0.2360 0.2949 0.3227 Columns 25 through 36 0.3217 0.2958 0.2504 0.1915 0.1255 0.0588 -0.0027 -0.0537 -0.0900 -0.1082 -0.1062 -0.0830 Columns 3
9、7 through 48 -0.0390 0.0245 0.1052 0.2000 0.3050 0.4158 0.5280 0.6369 0.7379 0.8269 0.9002 0.9549 Columns 49 through 60 0.9886 1.0000 0.9886 0.9549 0.9002 0.8269 0.7379 0.6369 0.5280 0.4158 0.3050 0.2000 Columns 61 through 72 0.1052 0.0245 -0.0390 -0.0830 -0.1062 -0.1082 -0.0900 -0.0537 -0.0027 0.05
10、88 0.1255 0.1915 Columns 73 through 84 0.2504 0.2958 0.3217 0.3227 0.2949 0.2360 0.1458 0.0270 -0.1147 -0.2704 -0.4278 -0.5709 Columns 85 through 96 -0.6810 -0.7368 -0.7159 -0.5960 -0.3571 0.0154 0.5274 1.1715 1.9211 2.7237 3.4926 4.0974 Columns 97 through 994.3515 3.9994 2.7003绘制原函数和拟合多项式的图形代码:plot
11、(x,1./(1+4.*x.2)hold allplot(x,y,r)xlabel(X)ylabel(Y)title(Runge现象)gtext(原函数)gtext(十次牛顿插值多项式)绘制结果:误差计数并绘制误差图: hold off ey=1./(1+4.*x.2)-yey = Columns 1 through 12 -2.6900 -3.9887 -4.3403 -4.0857 -3.4804 -2.7109 -1.9077 -1.1575 -0.5128 -0.0000 0.3733 0.6130 Columns 13 through 24 0.7339 0.7558 0.7010
12、0.5921 0.4502 0.2943 0.1401 0.0000 -0.1169 -0.2051 -0.2617 -0.2870 Columns 25 through 36 -0.2832 -0.2542 -0.2053 -0.1424 -0.0719 -0.0000 0.0674 0.1254 0.1696 0.1971 0.2062 0.1962 Columns 37 through 48 0.1679 0.1234 0.0660 0.0000 -0.0691 -0.1349 -0.1902 -0.2270 -0.2379 -0.2171 -0.1649 -0.0928 Columns
13、 49 through 60 -0.0271 0 -0.0271 -0.0928 -0.1649 -0.2171 -0.2379 -0.2270 -0.1902 -0.1349 -0.0691 0.0000 Columns 61 through 72 0.0660 0.1234 0.1679 0.1962 0.2062 0.1971 0.1696 0.1254 0.0674 0.0000 -0.0719 -0.1424 Columns 73 through 84 -0.2053 -0.2542 -0.2832 -0.2870 -0.2617 -0.2051 -0.1169 0.0000 0.1
14、401 0.2943 0.4502 0.5921 Columns 85 through 96 0.7010 0.7558 0.7339 0.6130 0.3733 0.0000 -0.5128 -1.1575 -1.9077 -2.7109 -3.4804 -4.0857 Columns 97 through 99 -4.3403 -3.9887 -2.6900 plot(x,ey) xlabel(X) ylabel(ey) title(Runge现象误差图)输出结果为:大作业 五解:Matlab程序为:x = -520,-280,-156.6,-78,-39.62,-3.1,0,3.1,39
15、.62,78,156.6,280,520;y = 0,-30,-36,-35,-28.44,-9.4,0,9.4,28.44,35,36,30,0;n = 13;%求解Mfor i = 1:1:n-1 h(i) = x(i+1)-x(i);endfor i = 2:1:n-1 a(i) = h(i-1)/(h(i-1)+h(i); b(i) = 1-a(i); c(i) = 6*(y(i+1)-y(i)/h(i)-(y(i)-y(i-1)/h(i-1)/(h(i-1)+h(i);enda(n) = h(n-1)/(h(1)+h(n-1);b(n) = h(1)/(h(1)+h(n-1);c(n
16、) = 6/(h(1)+h(n-1)*(y(2)-y(1)/h(1)-(y(n)-y(n-1)/h(n-1);A(1,1) = 2;A(1,2) = b(2);A(1,n-1) = a(2);A(n-1,n-2) = a(n);A(n-1,n-1) = 2;A(n-1,1) = b(n);for i = 2:1:n-2 A(i,i) = 2; A(i,i+1) = b(i+1); A(i,i-1) = a(i+1);endC = c(2:n);C = C;m = AC;M(1) = m(n-1);M(2:n) = m;xx = -520:10.4:520;for i = 1:51 for j
17、= 1:1:n-1 if x(j) = xx(i) & xx(i) X = 0 1 2 3 4 5 6 7 8 9 10; Y = 2.51 3.30 4.04 4.70 5.22 5.54 5.78 5.40 5.57 5.70 5.80; Threch(X,Y,0.8,0.2)S(x)= 0.8*x - 0.001486*x2 - 0.008514*x3 + 2.51 (0,1)S(x)= 0.8122*x - 0.01365*x2 - 0.004458*x3 + 2.506 (1,2)S(x)= 0.8218*x - 0.01849*x2 - 0.003652*x3 + 2.499 (2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值分析大作业 三、四、五、六、七35页 数值 分析 作业 35
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内