资源描述:
《北京科技大学计算方法大作业》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、计算方法大作业机械电子工程系老师:廖福成注:本文本只有程序题,证明题全部在手写已交到理化楼204To2.证明方程兀-1=0在[1,2]上有一实根Q并用二分法求这个根。要求1%1一心1<1°二请给出程序和运行结果。证明:设f(x)=x3-x-l则f(l)=-l,f(2)=5,f(l)*f(2)=-5<0因此,方程在[1,2]上必有一实根。二分法求解程序:%预先定义homework2.m文件如下:functionlc=homework2(x)lc=xA3-x-l;在MALAB窗口运行:cleara=1;b=2;tol=10A(-3);N=10000;k=0;fa=hom
2、ework2(a);%f需事先定义fork=l:Np=(a+b)/2;fp=homework2(p);if(fp=0
3、
4、(b-a)/25、
6、f(x)=3x2+4x4-10Matlab程序如下:%定义zuoye3.m文件functionx=zuoye3(fname,dfname,x0,e,N)if
7、nargin<5,N=500;end讦nargin<4,e=le-7;endx=x0;x0=x+2*e;k=0;whileabs(x0-x)>e&k8、8617531.36880810782137ans=1.368808107821374.用牛顿迭代法求方程兀'-兀-1=0在附近的根.要求给出程序和运行结果.解:令:/(x)=?-%-!侧八兀)=3十_1.恥)+住牛顿迭代函数为/(兀)=X-3x2-1牛顿迭格式为:Matalb程序如下:%定义zuoye4.m文件functionx=zuoye4(fname,dfname,xO,e,N)ifnargin<5,N=500;endifnargin<4,e=1e-7;endx=x0;x0=x+2*e;k=0;whileabs(xO-x)>e&kvN,k=k+l;xO=x;x
9、=xO-feval(fname,xO)/feval(dfname,xO);disp(x)endifk=N,warning('己达上限次数f);end在Matlab窗口执行:zuoye4(inline('xA3-x-1,),inline(,3*xA2-T),1,1e-7)结果如下:1.500000000000001.347826086956521.325200398950911.324718173999051.324717957244791.32471795724475ans二1.324717957244756.编写用全主元Gauss消去法解线性方程组的程序,并求解0
10、・02兀i一兀2+4工3一3x4+x-=11~X{+兀2+2工3+工4+3兀5=14_七=4一3兀]+兀?+3兀3+2兀4+4兀5=16xx+3x2一x3+4兀4+4xs=18解:Matlab程序如下:A=[2-l4-31;-11213;4233-1;-31324;13-144]b=[ll1441618Jfunctionx=zuoye6(A,b)[n,v]=size(b);D=[A,b;eye(n),zeros(n,v)],[s1,m]=size(D);fork=l:(n-l)s=abs(A(k,k));p=k;q=k;fori=k:nforj=k:nifabs(A
11、(i,j))>ss=abs(A(i,j));p=i;q=j;endendendifp>kt=D(k,:);D(k,:)=D(p,:);D(p,:)=t;endifq>ktl=D(:,k);D(:,k)=D(:,q);D(:,q)=tl;endh=D(k+l:n,k)/D(k,k);D(k+1:n,k+1:m)=D(k+1:n,k+1:m)-h*D(k,k+1:m);D(k+1:n,k)=zeros(n-k,1);endfork=n:-l:lD(k,k:m)=D(k,k:m)/D(k,k);forr=l:k-lD(r,:)=D(r,:)-D(r,k)*D(k,:)