您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 计算方法作业3(1)
《计算方法》上机指导书实验1MATLAB基本命令1.掌握MATLAB的程序设计实验内容:对以下问题,编写M文件。(1)生成一个5×5矩阵,编程求其最大值及其所处的位置。(2)编程求201!nn。(3)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹有多高?2.掌握MATLAB的绘图命令实验内容:对于自变量x的取值属于[0,3],在同一图形窗口画出如下图形。(1)1sin()cos()yxx;(2)212sin()cos()3yxx;实验2插值方法与数值积分1.研究人口数据的插值与预测实验内容:下表给出了从1940年到1990年的美国人口,用插值方法推测1930年、1965年、2010年人口的近似值。美国人口数据年194019501960197019801990人口(千人)132,165151,326179,323203,302226,542249,6331930年美国的人口大约是123,203千人,你认为你得到的1965年和2010年的人口数字精确度如何?2.最小二乘法拟合经验公式实验内容:某类疾病发病率为y‰和年龄段x(每五年为一段,例如0~5岁为第一段,6~10岁为第二段……)之间有形如bxaey的经验关系,观测得到的数据表如下x123456789y0.8982.383.071.842.021.942.222.774.02x10111213141516171819y4.765.466.5310.916.522.535.750.661.681.8(1)用最小二乘法确定模型bxaey中的参数a和b。(2)利用MATLAB画出离散数据及拟合函数bxaey图形。3.复化求积公式实验内容:对于定积分1024dxxxI。(1)分别取利用复化梯形公式计算,并与真值比较。再画出计算误差与n之间的曲线。(2)取[0,1]上的9个点,分别用复化梯形公式和复化辛普森公式计算,并比较精度。实验3非线性方程与线性方程组1.矩阵的范数与条件数实验内容:已知矩阵1111111111111111A求1A,2A,A和)(2Acond。2.研究高斯消去法的数值稳定性实验内容:设方程组bAx,其中(1)11212592.1121130.6291.51314.59103.0151A,2178.4617.591b(2)201015152699990999999999.23107102A,1500019000000000.582b分别对以上两个方程组(1)计算矩阵的条件数,判断系数矩阵是良态的还是病态的?(2)用列主元消去法求得L和U及解向量421,Rxx;(3)用不选主元的高斯消去法求得L和U及解向量421~,~Rxx;(4)观察小主元并分析对计算结果的影响。3.求解非线性方程,比较不同方法的计算量实验内容:比较求0210xex的根到三位小数所需的计算量:(1)在区间[0,1]内用二分法;(2)用迭代法10/)2(1kxkex,初值00x;(3)用牛顿迭代法,取初值00x。《计算方法》上机实验报告姓名:陶成川学号:U201410820班级:机械09一、问题1.矩阵的范数与条件数实验内容:已知矩阵1111111111111111A求1A,2A,A和)(2Acond。2.研究高斯消去法的数值稳定性实验内容:设方程组bAx,其中(1)11212592.1121130.6291.51314.59103.0151A,2178.4617.591b(2)201015152699990999999999.23107102A,1500019000000000.582b分别对以上两个方程组(1)计算矩阵的条件数,判断系数矩阵是良态的还是病态的?(2)用列主元消去法求得L和U及解向量421,Rxx;(3)用不选主元的高斯消去法求得L和U及解向量421~,~Rxx;(4)观察小主元并分析对计算结果的影响。3.求解非线性方程,比较不同方法的计算量实验内容:比较求0210xex的根到三位小数所需的计算量:(1)在区间[0,1]内用二分法;(2)用迭代法10/)2(1kxkex,初值00x;(3)用牛顿迭代法,取初值00x。二、Matlab程序1.A=[1111;-11-11;-1-111;1-1-11];a1=norm(A,1);a2=norm(A);a3=norm(A,inf);B=inv(A);a4=norm(B);a5=a2*a4;fprintf('||A||1is%d\n',a1);fprintf('||A||2is%f\n',a2);fprintf('||A||is%d\n',a3);fprintf('cond2(A)is%f\n',a5);2.(1)A=[3e-1659.4131;5.291-6.130-12;11.2952;1211];aA=cond(A,2)B=[10-701;-32.09999999999999962;5-15-1;0102];aB=cond(B,2)(2)%构造函数functionx=gauss1(A,b)A=[A';b]',n=length(b);fork=1:n-1s=A(k,k);p=k;fori=k+1:nifabs(s)abs(A(i,k))s=A(i,k);p=i;endendpsifp~=kforj=k:n+1t=A(k,j);A(k,j)=A(p,j);A(p,j)=t;endendAfori=k+1:nm=A(i,k)/A(k,k);fprintf('m%d%d=%f\n',i,k,m);forj=k:n+1A(i,j)=A(i,j)-m*A(i,j);endendfprintf('A%d=\n',k+1);AendA(n,n+1)=A(n,n+1)/A(n,n);fori=n-1:-1:1s=0;forj=j+1:ns=s+A(i,j)*A(j,n+1);endA(i,n+1)=(A(i,n+1)-s)/A(i,i);endA(:,n+1)%运算方程A=[3e-1659.4131;5.291-6.130-12;11.2952;1211];B=[10-701;-32.09999999999999962;5-15-1;0102];b1=[59.1746.7812];b2=[85.9000000000000151];x1=gauss1(A,b1)x2=gauss1(B,b2)3.(1)%构造二分法函数function[xstar,k]=fen(fun,a,b,ep)ifnargin4,ep=1e-5;endfa=feval(fun,a);fb=feval(fun,b);iffa*fb0xstar=[fa,fb];k=0;return;endk=1;whileabs(b-a)/2epx=(a+b)/2;fx=feval(fun,x);iffx*fa0b=x;fb=fx;elsea=x;fa=fx;endk=k+1;endxstar=(a+b)/2;end%计算fun=inline('exp(x)+10*x-2');[xstar,k]=fen(fun,0,1,0.001)(2)%构造迭代函数function[xstar,k]=diedai(fun,x0,ep,nmax)ifnargin4nmax=500;endifnargin3ep=1e-5;endx=x0;x0=x+2*ep;k=0;whileabs(x0-x)ep&knmaxx0=x;x=feval(fun,x0)k=k+1;endxstar=x;ifk==nmaxwarning('get');endEnd%计算fun2=inline('0.1*(2-exp(x))');[xstar2,k2]=diedai(fun2,0)(3)%构造牛顿迭代函数function[xstar,k]=newtown(fname,dfname,x0,ep,nmax)ifnargin5nmax=500;endifnargin4ep=1e-5;endx=x0;x0=x+2*ep;k=0;whileabs(x0-x)ep&&knmaxk=k+1;x0=x;x=x0-feval(fname,x0)/feval(dfname,x0);endxstar=x;ifk==nmaxwarning('enough');endEnd%运算fname=inline('exp(x)+10x-2');dfname=inline('exp(x)+10');[xstar,k]=newtown(fname,dfname,1)三.实验结果1.||A||1is4||A||2is2.000000||A||is4cond2(A)is1.0000002.(1)aA=68.7205aB=8.9939根据条件数,A为病态,B为病态(2)A=0.000059.41003.00001.000059.17005.2910-6.1300-1.00002.000046.780011.20009.00005.00002.00001.00001.00002.00001.00001.00002.0000p=3s=11.2000m21=0.472411m31=0.000000m41=0.089286A2=A=11.20009.00005.00002.00001.00002.7915-3.2341-0.52761.055224.68060.000059.41003.00001.000059.17000.91071.82140.91070.91071.8214p=3s=59.4100m32=-0.054437m42=0.030659A3=A=11.20009.00005.00002.00001.00002.791559.41003.00001.000059.17000.0000-3.4102-0.55631.112626.02420.91071.76560.88280.88281.7656p=4s=0.8828m43=-0.630170A4=A=11.20009.00005.00002.00001.00002.791559.41003.00001.000059.17000.0000-3.41020.88280.88281.76560.91071.7656-0.90691.813842.4238ans=0.08930.99602.000023.3900A=10.0000-7.000001.00008.0000-3.00002.10006.00002.00005.90005.0000-1.00005.0000-1.00005.000001.000002.00001.0000p=1s=10m21=-0.300000m31=0.500000m41=0.000000A2=A=10.0000-7.000001.00008.0000-3.90002.73007.80002.60007.67002.5000-0.50002.5000-0.50002.500001.000002.00001.0000p=2s=2.7300m32=-0.183150m42=0.366300A3=A=10.0000-7.000001.00008.0000-3.90002.73007.80002.60007.67002.5000-0.59162.9579-0.59162.957900.633701.26740.6337p=3s=2.9579m43=0.000000A4=A=10.0000-7.000001.00008
本文标题:计算方法作业3(1)
链接地址:https://www.777doc.com/doc-5742499 .html