数值分析MATLAB计算实验报告姓名班级学号一、实验名称用MATLAB编程实现数值微分的外推法计算。二、实验目的1.掌握数值微分和定义和外推法的计算过程;2.了解数值微分外推法的计算方法并且编写出与其算法对应的MATLAB程序代码;3.体会利用MATLAB软件进行数值计算。三、实验内容用外推法计算𝑓(𝑥)=x2e−𝑥在𝑥=0.5的导数。四、算法描述1.命名函数。2.如果输入未知数少于四个,默认精度10^-33.描述T表矩阵坐标4.依次赋值计算T表第一列5.根据数值微分计算公式求出T表矩阵的值6.若达到精度则运算结束,若未达到循环计算7.输出T表,得出的值就是导数值五、实验结果六、实验结果分析此实验通过MATLAB实现外推法数值微分计算,得到相应的数据,方便对数据进行分析。从结果可以看出,当步长h=0.025时用中点微分公式只有3位有效数字,外推一次达到5位有效数字,外推两次达到9位有效数字。七、附录(程序)functiong=waituifa(fname,x,h,e)ifnargin4,e=1e-3;end;i=1;j=1;G(1,1)=(feval(fname,x+h)-feval(fname,x-h))/(2*h);G(i+1,1)=(feval(fname,x+h/2)-feval(fname,x-h/2))/h;G(i+1,j+1)=(4^j*G(i+1,j)-G(i,j))/(4^j-1);whileabs(G(i+1,i+1)-G(i+1,i))ei=i+1;G(i+1,1)=(feval(fname,x+h/2^i)-feval(fname,x-h/2^i))/(2*h/2^i);forj=1:iG(i+1,j+1)=((4^j)*G(i+1,j)-G(i,j))/(4^j-1);endendGg=G(i+1,i+1);