2013-2014学年冬季学期数值方法实验报告组别第X组学号1212XXX姓名XXXX指导老师XXXX完成日期201X.XXX实验一一、题目P311.根据习题12和习题13构造算法和MATLAB 程序,以便精确计算所有情况下的二次方程的根,包括ac b b 42-≈的情况。
2.参照例1.25,对下列3个序列求序列∞=⎭⎬⎫⎩⎨⎧121n n ,请计算出前10个数值近似值。
构造类似表1.4、表1.5以及图1.8至图1.10的输出。
(a) 994.00=r ;121-=n n r r ,初始误差为0.00 2其中n=1,2,…(b) 10=q ,497.01=q ,2125---=n n n q q q ,初始误差为0.003,其中n=2,3,…二、代码第一题:第二题:三、结果1、2、四、总结本次作业的目的在于熟悉我们对Matlab基本的操作。
第一题是对if…else…的应用。
第二题是画图和格式输出。
实验二一、题目P401. 使用程序2.1求解下面每个函数的不动点(尽可能多)近似值,答案精确到小数点后12位。
同时,构造每个函数和直线y=x 来显示所有不动点。
(a ) 223)(235+--=x x x x g(b ) ))cos(sin()(x x g = (c ) )15.0()(2+-=x in x x g (d ))cos()(x x x x g -=P493. 修改程序2.2和程序2.3,使得输出分别类似于表2.1和表2.2的矩阵(即矩阵的第一行应当为[0 0a 0c 0b )(0c f ] )二、代码第一题:此题包含了文件fixpt.m 、plotfixpt.m 、sqrtm.m 、main1.m fixpt.mplotfixpt.msqrtm.mmain1.mfunction mainfigure(1)hold offgrid onaxis([-2 2.5 -2 2.5]);axis squarehold ong=inline('x.^5-3*x.^3-2*x.^2+2');x=[-2:0.01:2.5];plot(x,g(x),'r');plot(x,x,'g');f1=inline('sqrtm(3*x.^3+2*x.^2+x-2,5)');plot(x,f1(x),'b');f2=inline('sqrtm((x.^5-2*x.^2-x+2)/3,3)');plot(x,f2(x),'c');f3=inline('sqrt((x.^5-3*x.^3-x+2)./2)');plot(x,f3(x),'m');text(-0.9,-0.9,'y=x');text(-0.4,2.1,'g(x)=x^5-3x^3-2*x^2+2');text(-1.3,-1.6,'f1(x)=(3x^3+2x^2+x-2)^0^/^5');text(-0.9,0.3,'f2(x)=((x^5-2x^2-x+2)/3)^1^/^3');text(-1,1.6,'f3(x)=((x^5-3x^3-x+2)/2)^1^/^2');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(2)hold offgrid onaxis([-2 2.5 -2 2.5]);axis squarehold on[k,p,err,P]=plotfixpt(f1,0.9,0.00001,100,'k');[k,p,err,P]=plotfixpt(f1,0.6,0.00001,100,'k');plot(x,g(x),'r');plot(x,x,'g');plot(x,f1(x),'b');text(-0.9,-0.9,'y=x');text(-0.4,2.1,'g(x)=x^5-3x^3-2*x^2+2');text(-1.3,-1.6,'f1(x)=(3x^3+2x^2+x-2)^0^/^5');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(3)hold offgrid onaxis([-2 2.5 -2 2.5]);axis squarehold on[k,p,err,P]=plotfixpt(f2,-1,0.00001,100,'k');plot(x,g(x),'r');plot(x,x,'g');plot(x,f2(x),'c');text(-0.9,-0.9,'y=x');text(-0.4,2.1,'g(x)=x^5-3x^3-2*x^2+2');text(-0.9,0.3,'f2(x)=((x^5-2x^2-x+2)/3)^1^/^3');main2function mainfigure(1)hold offgrid onaxis([0 2 0 2]);axis squarehold ong=inline('cos(sin(x))');x=[0:0.01:2];plot(x,g(x),'r');plot(x,x,'g');[k,p,err,P]=plotfixpt(g,1.5,0.00001,100,'k');第二题function maing=inline('x.*sin(x)-1');[c,err,a,b,yc]=bisect(g,0,2,0.0000001);fprintf(' x sin(x)-1=0\n');fprintf('--------------------------------------------------------------------------------\n');fprintf(' k | ak | ck | bk | f(ck) \n');fprintf('---|------------------|------------------|-------------------|-------------------\n');maxk=length(yc);for k=1:maxkfprintf('%2d | %13.8f | %13.8f | %13.8f | %13.8f\n',k-1,a(k),c(k),b(k),yc(k));endfprintf('---|------------------|------------------|-------------------|-------------------\n');%g=inline('x.*sin(x)-1');[c,err,a,b,yc]=regula(g,0,2,0.0000001,0.0000001,30);fprintf(' x sin(x)-1=0\n');fprintf('--------------------------------------------------------------------------------\n');fprintf(' k | ak | ck | bk | f(ck) \n');fprintf('---|------------------|------------------|-------------------|-------------------\n'); maxk=length(yc);for k=1:maxkfprintf('%2d | %13.8f | %13.8f | %13.8f | %13.8f\n',k-1,a(k),c(k),b(k),yc(k));endfprintf('---|------------------|------------------|-------------------|-------------------\n');三、结果第一题:第二题:四、总结本次实验是解方程。
第一题是通过迭代法求不动点。
第二题是通过二分法(试值法或试位法)求值。
本次实验的难点在于多个函数的调用。
实验三一、题目P69 第4题二、代码function [p0,err,k,y]=newton(A,p0,delta,epsilon,max1)for k=1:max1% p1=p0-feval(f,p0)/feval(df,p0);p1=(2*p0+A/p0/p0)/3; % 把有导数的迭代公式直接换成求导后的公式err = abs(p1-p0);relerr = 2*err/(abs(p1)+delta);p0=p1;%% y= feval(f,p0);y= p0.^3-A;if (err<delta)|(relerr<delta)|(abs(y)<epsilon)breakendendfunction mainp0=2;delta=0.0001;epsilon=0.0001;max1=20;A=7;[p0,err,k,y]=newton(A,p0,delta,epsilon,max1);fprintf('%f的三次根的值=%.5f\n',A,p0);p0=6;delta=0.0001;epsilon=0.0001;max1=20;A=200;[p0,err,k,y]=newton(A,p0,delta,epsilon,max1);fprintf('%f的三次根的值=%.5f\n',A,p0);p0=-2;delta=0.0001;epsilon=0.0001;max1=20;A=-7;[p0,err,k,y]=newton(A,p0,delta,epsilon,max1); fprintf('%f的三次根的值=%.5f\n',A,p0);三、结果7.000000的三次根的值=1.91294200.000000的三次根的值=5.84804-7.000000的三次根的值=-1.91294四、总结这题应用的是牛顿—拉夫森迭代公式!实验四一、题目1.93页1题。