东南大学数值分析上机题作业matlab版(共18页).doc
《东南大学数值分析上机题作业matlab版(共18页).doc》由会员分享,可在线阅读,更多相关《东南大学数值分析上机题作业matlab版(共18页).doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上2015.上机作业题报告 1题目设,其精确值为。(1)编制按从大到小的顺序,计算SN的通用程序。(2)编制按从小到大的顺序,计算SN的通用程序。(3)按两种顺序分别计算,并指出有效位数。(编制程序时用单精度)(4)通过本次上机题,你明白了什么?clear;N=input(请输入N值:);Ac=single(3/2-1/N-1/(N+1)/2);Snl2s=single(0);Sns2l=single(0);for i=2:N Snl2s=Snl2s+1/(i*i-1);endfor i=N:-1:2 Sns2l=Sns2l+1/(i*i-1);endfprintf(精
2、确值为: %fn,Ac);fprintf(从大到小的顺序累加得SN=%fn,Snl2s);fprintf(从小到大的顺序累加得SN=%fn,Sns2l);disp(=);程序 P20T17请输入N值:102精确值为: 从大到小的顺序累加得SN=从小到大的顺序累加得SN= P20T17请输入N值:104精确值为: 从大到小的顺序累加得SN=运行结果从小到大的顺序累加得SN= P20T17请输入N值:106精确值为: 从大到小的顺序累加得SN=从小到大的顺序累加得SN=结果分析按从大到小的顺序,有效位数分别为:6,4,3。按从小到大的顺序,有效位数分别为:5,6,6。可以看出,不同的算法造成的误差
3、限是不同的,好的算法可以让结果更加精确。当采用从大到小的顺序累加的算法时,误差限随着N的增大而增大,可见在累加的过程中,误差在放大,造成结果的误差较大。因此,采取从小到大的顺序累加得到的结果更加精确。 2题目(1)给定初值及容许误差,编制牛顿法解方程f(x)=0的通用程序。(2)给定方程,易知其有三个根由牛顿方法的局部收敛性可知存在当时,Newton迭代序列收敛于根x2*。试确定尽可能大的。试取若干初始值,观察当时Newton序列的收敛性以及收敛于哪一个根。(3)通过本上机题,你明白了什么?程序函数m文件:function Fu=fu(x)Fu=x3/3-x;end函数m文件:function
4、 Fu=dfu(x)Fu=x2-1;end用Newton法求根的通用程序clear;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);寻找最大值的程序:cleareps=input(请输入搜索精度:);ep=input(请输入容许误差:);flag=1;k=0;x0=0;while flag=1 sigma=k*eps;x0=sigma; k=k+1; m=0; f
5、lag1=1; while flag1=1 & m=103 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)=ep flag=0; endendfprintf(最大的sigma值为:%fn,sigma);运行结果(1)寻找最大的值。算法为:将初值x0在从0开始不断累加搜索精度eps,带入Newton迭代公式,直到求得的根不再收敛于0为止,此时的x0值即为最大的sigma值。运行,得到在不同的搜索精度下的最大sigma值。 Find请输入搜索精度:10-6请输入容许误差:10-6最大的sigma值为: Find请输入搜索精度:10-4请输入容许误差:10-6最大的sigma
6、值为: Find请输入搜索精度:10-2请输入容许误差:10-6最大的sigma值为:(2)运行在内取初值,运行结果如下:X0Xk-1000-500-100-10-5可见,在区间内取初值,Newton序列收敛,且收敛于根。在内取初值,运行结果如下:X0Xk可见,在内取初值,Newton序列收敛,且收敛于根。在内内取初值,运行结果如下:X0Xk可见,在内取初值,Newton序列收敛,且收敛于根0。在内取初值,运行结果如下:X0Xk可见,在内取初值,Newton序列收敛,且收敛于根在内取初值,运行结果如下:X0Xk5101005001000可见,在内取初值,Newton序列收敛,且收敛于根 3题目
7、对于某电路的分析,归结为求解线性方程组RI=V,其中(1)编制解n阶线性方程组的列主元高斯消去法的通用程序;(2)用所编程序线性方程组,并打印出解向量,保留5位有效数字;(3)本题编程之中,你提高了哪些编程能力?程序n=input(请输入线性方程组阶数: n=);b=zeros(1,n);A=input(请输入系数矩阵:A=n);b(1,:)=input(请输入线性方程组右端向量:b=n);b=b; C=A,b;for i=1:n-1 maximum,index=max(abs(C(i:n,i); index=index+i-1; T=C(index,:); C(index,:)=C(i,:)
8、; C(i,:)=T; for k=i+1:n if C(k,i)=0 C(k,:)=C(k,:)-C(k,i)/C(i,i)*C(i,:); end endend%回代求解x=zeros(n,1);x(n)=C(n,n+1)/C(n,n);for i=n-1:-1:1 x(i)=(C(i,n+1)-C(i,i+1:n)*x(i+1:n,1)/C(i,i);enddisp(方程组的解为:);fprintf(%.5gn,x);运行结果运行程序,输入系数矩阵和方程组右端列向量。运行过程与结果如下图所示: P126T39请输入线性方程组阶数: n=4请输入系数矩阵:A= 0 0; 0;0 ;0 0
9、请输入线性方程组右端向量:b= 方程组的解为:2495 P126T39请输入线性方程组阶数: n=9请输入系数矩阵:A=31 -13 0 0 0 -10 0 0 0;-13 35 -9 0 -11 0 0 0 0;0 -9 31 -10 0 0 0 0 0;0 0 -10 79 -30 0 0 0 -9;0 0 0 -30 57 -7 0 -5 0;0 0 0 0 -7 47 -30 0 0;0 0 0 0 0 -30 41 0 0;0 0 0 0 -5 0 0 27 -2;0 0 0 -9 0 0 0 -2 29请输入线性方程组右端向量:b=-15 27 -23 0 -20 12 -7 7
10、10方程组的解为:可看出,算得的该线性方程组的解向量为: 4题目(1)编制求第一型3次样条插值函数的通用程序;(2)已知汽车门曲线型值点的数据如下:i012345678910Xi012345678910Yi端点条件为,用所编程序求车门的3次样条插值函数S(x),并打印出S(i+,i=0,1,9。程序cleardigits(6);n=input(请输入节点数:n=);xn=zeros(1,n);yn=zeros(1,n);xn(1,:)=input(请输入节点坐标:);yn(1,:)=input(请输入节点处函数值:);dy0=input(请输入左边界条件:y(x0)=);dyn=input(请
11、输入右边界条件:y(xn)=);%=求d=%d=zeros(n,1);h=zeros(1,n-1);f1=zeros(1,n-1);f2=zeros(1,n-2);for i=1:n-1 h(i)=xn(i+1)-xn(i); f1(i)=(yn(i+1)-yn(i)/h(i);endfor i=2:n-1 f2(i)=(f1(i)-f1(i-1)/(xn(i+1)-xn(i-1); d(i)=6*f2(i);endd(i)=6*(f1(1)-dy0)/h(1);d(n)=6*(dyn-f1(n-1)/h(n-1);%=求Mi=%A=zeros(n);miu=zeros(1,n-2);lamd
12、a=zeros(1,n-2);for i=1:n-2 miu(i)=h(i)/(h(i)+h(i+1); lamda(i)=1-miu(i);endA(1,2)=1;A(n,n-1)=1;for i=1:n A(i,i)=2;endfor i=2:n-1 A(i,i-1)=miu(i-1); A(i,i+1)=lamda(i-1);endM=Ad;%=回代求插值函数=%syms x;for i=1:n-1; Sx(i)=collect(yn(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i)*(x-xn(i)+M(i)/2*(x-xn(i)2+(M(i+1)-M(i)/(6*h(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东南大学 数值 分析 上机 作业 matlab 18
限制150内