实验报告课程名称:计算方法院系:数学科学系专业班级:数应1001学号:1031110101学生姓名:曹信信指导教师:沈林开课时间:2012至2013学年第一学期一、学生撰写要求按照实验课程培养方案的要求,每门实验课程中的每一个实验项目完成后,每位参加实验的学生均须在实验教师规定的时间内独立完成一份实验报告,不得抄袭,不得缺交。学生撰写实验报告时应严格按照本实验报告规定的内容和要求填写。字迹工整,文字简练,数据齐全,图表规范,计算正确,分析充分、具体、定量。二、教师评阅与装订要求1.实验报告批改要深入细致,批改过程中要发现和纠正学生实验报告中的问题,给出评语和实验报告成绩,签名并注明批改日期。实验报告批改完成后,应采用适当的形式将学生实验报告中存在的问题及时反馈给学生。2.实验报告成绩用百分制评定,并给出成绩评定的依据或评分标准(附于实验报告成绩登记表后)。对迟交实验报告的学生要酌情扣分,对缺交和抄袭实验报告的学生应及时批评教育,并对该次实验报告的分数以零分处理。对单独设课的实验课程,如学生抄袭或缺交实验报告达该课程全学期实验报告总次数三分之一以上,不得同意其参加本课程的考核。3.各实验项目的实验报告成绩登记在实验报告成绩登记表中。本学期实验项目全部完成后,给定实验报告综合成绩。4.实验报告综合成绩应按课程教学大纲规定比例(一般为10-15%)计入实验课总评成绩;实验总评成绩原则上应包括考勤、实验报告、考核(操作、理论)等多方面成绩;5.实验教师每学期负责对拟存档的学生实验报告按课程、学生收齐并装订,按如下顺序装订成册:实验报告封面、实验报告成绩登记表、实验报告成绩评定依据、实验报告(按教学进度表规定的实验项目顺序排序)。装订时统一靠左侧按“两钉三等分”原则装订。实验名称MATLAB基本操作实验时间2012年9月13日学生姓名曹信信实验地点9#405数学实验室1、实验所用软件WIN7操作系统、Matlab2、实验目的熟悉Matlab编程环境,理解和掌握Matlab执行命令的方式,会做一些简单函数的图像。通过用Matlab编程解决数值分析问题,更深一步的体会计算方法这门课的重要性。3、实验内容(一)、Matlab操作界面1.命令窗口(commandwindow)2.命令历史窗口(commandhistory)3.工作空间管理窗口(workspace)4.当前路径窗口(currentdirectory)(二)、具体练习1、简单矩阵263475389A的输入步骤。2、画出衰减振荡曲线3sin2tyet及其它的包络线30tye。t的取值范围是]4,0[。3、画出2222cos()xyzxy所表示的三维曲面。yx,的取值范围是]8,8[。4、复数矩阵的生成及运算.4、实验方法、步骤1、简单矩阵263475389A的输入步骤。(1)在键盘上输入下列内容A=[2,6,3;4,7,5;3,8,9](2)按【Enter】键,指令被执行。(3)在指令执行后,MATLAB指令窗中将显示结果2、画出衰减振荡曲线3sin2tyet及其它的包络线30tye。t的取值范围是]4,0[。t=0:pi/50:4*pi;y0=exp(t/3);y=exp(t/3).*sin(2*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')grid3、画出2222cos()xyzxy所表示的三维曲面。yx,的取值范围是]8,8[。clear;x=-8:0.5:8;y=x';X=ones(size(y))*x;Y=y*ones(size(x));R=sqrt(X.^2+Y.^2)+eps;%5Z=cos(R)./R;%6surf(X,Y,Z);colormap(cool)xlabel('x'),ylabel('y'),zlabel('z')4、复数矩阵的生成及运算A=[5,3;2,8]-[7,8;3,9]*iB=[1+4i,2+5i;8+3*i,4+2*i]C=A*B5、实验数据记录与分析1、2、3、4、6、实验结论通过本节课实验,我初步熟悉Matlab的编程环境,认识了其中的命令窗口、命令历史窗口、工作空间管理窗口以及当前路径窗口,并学习了简单的运算操作。在这个过程中,我掌握了用Matlab执行命令做一些简单函数的图像。虽然是初步接触,但是我觉得自己做得还不错,下次继续努力!指导教师评语和成绩评定指导教师签字:年月日实验名称插值算法实验时间2012年9月27日学生姓名曹信信实验地点9#405数学实验室1、实验所用软件WINxp操作系统、Matlab2、实验目的设计一个程序,通过键盘指令输入参数,可以实现Taylor插值方法、线性插值方法、抛物插值方法以及一般情形的Lagrange插值方法的程序。使学生掌握插值算法的基本理论,并提高学生在程序设计中发现问题、分析问题和解决问题的能力。3、实验内容1、确定方程x3-x+4=0的实根的分布情况。2、已知函数值x={012345678910},y={00.791.532.192.713.033.272.893.063.193.29}和边界条件s'(0)=0.8s'(10)=0.2,求三次样条插值函数的图形.3、用牛顿迭代法求解方程组:x1^2+x2^2=4;x1^2-x2^2=1。4、已知:sin0.32=0.314567,sin0.34=0.333487,sin0.36=0.352274,用抛物插值计算sin0.3367。1、在MATLAB工作窗口输入x=-4:0.1:4;y=x.^3-x+4;plot(x,y)grid,gtext('y=x^3-x+4')2、输入xx=1:0.1:10;yy=spline(x,y,xx);plot(x,y)3、输入x0=1;y0=1;n=10;tol=1e-6;x(1)=x0;y(1)=y0;i=1;u=[11];k(1)=1;while(norm(u)tol*norm([x(i),y(i)]'))A=2*[x(i),y(i);x(i),-y(i)];b=[4-x(i)^2-y(i)^2,1-x(i)^2+y(i)^2]';u=A\b;x(i+1)=x(i)+u(1);y(i+1)=y(i)+u(2);i=i+1;k(i)=i;if(in)error('nisfull');endend[k',x',y']4、x=[0.32;0.34;0.36];y=[0.314567;0.333487;0.352274];a=0.3367;a=polyfit(x,y,2)t=0.3367;s=[t^2;t;1]ans5、实验数据记录与分析1、2、3、4、6、实验结论通过本次试验操作,我进一步了解了matlab的上机操作,通过键盘指令输入参数,实现Taylor插值方法、线性插值方法、抛物插值方法以及一般情形的Lagrange插值方法的程序。在做题的过程中,不免会遇到很多问题,不过经过努力和同学们一起探讨,程序一步步都成功运行了。课后我会多加练习,争取更熟练的掌握插值算法。指导教师评语和成绩评定指导教师签字:年月日实验名称数值积分与数值微分实验时间2012年10月25日学生姓名曹信信实验地点9#405数学实验室1、实验所用软件WIN7操作系统、Matlab2、实验目的1.掌握复合梯形法求积分、复合辛普生法方法求积分公式的程序设计2.掌握Romberg积分的用法。3.掌握高斯公式的程序设计3、实验内容1)由sinyx,1cos,1,2yxxx所围成的平面区域,用复合梯形法求平面区域的面积。2)估计用辛普森公式计算定积分sin44tIedt的值I和递归次数n。3)用两点高斯–勒让德积分公式计算1123Ixdx,并将计算结果与精确值进行比较,求出绝对误差。4、实验方法、步骤1)x=-3:0.001:3;F1=sin(x);F2=cos(x);plot(x,F1,'r:',x,F2,'b-'),axis([-1,pi/4+1,-1.5,1.5]),xlabel('x'),ylabel('y'),title('y=sinx,y=cosx和x=-1及x=0.5所围成的平面区域的图形')symsxf1=cos(x)-sin(x);f2=-f1;S1=int(f1,x,-1,pi/4);S2=int(f2,x,pi/4,0.5);S=S1+S2,Sjg=double(S)2)symsxL=inline('exp(sin(x))');[QS,FCNTS]=quad(L,-pi/4,pi/4,1.e-4,2)3)x1=-1/sqrt(3);x2=1/sqrt(3);y1=2/(3+x1);y2=2/(3+x2);G=y1+y2symsxf=int(2/(3+x),x,-1,1);Fjg=double(fi)Gjq=double(abs(fi-G2))5、实验数据记录与分析1)S=sin(1)-cos(1/2)-cos(1)-sin(1/2)+2*2^(1/2)Sjg=1.77262)[QS,FCNTS]=quad(L,-pi/4,pi/4,1.e-4,2)9-0.78539816344.26596866e-010.250602148011-0.35880129707.17602594e-010.7327015293130.35880129704.26596866e-010.7339475547QS=1.7173FCNTS=133)G=1.3846Fjg=0.4055Gjq=5.9703e-056、实验结论本节实验我学会了利用复合梯形法、复合辛普生法方法求积分,在学习的时候简单地进行了程序设计,锻炼了求积分的快捷方法,也学习了更深刻的定理公式。此外,我们还学习了Romberg积分的用法,练习了高斯公式的程序设计,在以前的基础上进步许多,但是问题也暴露不少,例如一些函数的用法,特殊函数的名称等,在这些方面需要进一步提升。指导教师评语和成绩评定指导教师签字:年月日实验名称常微分方程差分方法实验时间2012年11月8日学生姓名曹信信实验地点9#405数学实验室1、实验所用软件WIN7操作系统、Matlab2、实验目的1.编写程序实现Euler求解方法及改进Euler求解方法2.掌握龙格-库塔方法的用法3.掌握方程组和高阶方程的程序实现3、实验内容1)用向后欧拉公式求解区间]2,0[上的初值问题1)0(,783yxydxdy,2)判断下列线性方程组解的情况,并求出该解。123412341234123425150,3272,41360,32471;xxxxxxxxxxxxxxxx4、实验方法、步骤1)编写程序function[X,Y,n,P]=Heuler1(funfcn,x0,b,y0,h,tol)n=fix((b-x0)/h);X=zeros(n+1,1);Y=zeros(n+1,1);k=1;X(k)=x0;Y(k,:)=y0;Y1(k,:)=y0;clc,x0,h,y0fori=2:n+1X(i)=x0+h;Y(i,:)=y0+h*feval(funfcn,x0,y0);Y1(i,:)=y0+h*feval(funfcn,X(i),Y(i,:));Wu=abs(Y1(i,:)-Y(i,:));whileWutolp=Y1(i,:);Y1(i,:)=y0+h*feval(funfcn,X(i),p);Y(i,:)=p;endx0=x0+h;y0=Y1(i,:);Y(i,:)=y0;plot(X,Y,'ro')gridonxlabel('自变量X'),ylabel('因变量Y')title('用向后欧拉公式计算dy/dx=f(x,y),y(x0)=y0在[x0,b]上的数值解')endX=X(1:n+1);Y=Y(1:n+1,:);n=1:n+1;P=[n',X,Y]输入S1=dsolve('Dy=8*x-3*y-7','y(