数值分析实验报告第一章绪论一、实验目的:掌握截断误差,熟悉上机matlab环境。二、数学理论:当数学模型不能得到精确解时,通常要用数值方法求它的近似解,其近似解与精确解之间的误差称为截断误差或方法误差。,在x与0之间。秦九韶算法公式:,,三、实验内容:1.计算(n=0,1,⋯)。2.=+,采用秦九韶算法,给出求以及四、程序分析:1.(秦九韶算法)2.程序设计如下:n=input('输入n的值:');x=input('输入x的值:');a=3;fori=1:na=2*a+3;ends=a;a1=(a-3)/2;form=1:100s=x*s+a1;a1=(a1-3)/2;ends在matlab中运行结果如下:>>d12输入n的值:100输入x的值:0.5s=600.0000>>d12输入n的值:150输入x的值:13s=2.2081e+1572.此题中令n=9计算。X=0:0.01:1;Y=(X.^9).*(exp(X));h=trapz(X,Y)I=(exp(-1))*hI0=0.6321;%用A方案forn=1:1:9;Ia=1-n*I0;endIaI9=0.0684;%用B方案fori=9:-1:1;Ib=1/i*(1-I9);endIbI=0.0917Ia=-4.6889Ib=0.9316分析:n=1时初值为1-1/e.方案A中初值为0.6321,误差E0=1-1/e-0.6321初始误差较小,但误差逐步增大,所以计算不可靠。B方案中初值为0.0684初值较大,但误差逐步缩小,计算结果可靠。五、实验总结:在数值分析中,对于计算高次幂运算,逐次运算计算量太大,运用秦九韶算法大大减少了运算量。在积分用方案A时,尽管初值相当准确,但由于误差传播是逐步扩大的,因而计算结果不可靠。在数值计算中如不注意分析误差,就会出现特大误差。所以尽管数值计算中误差比较困难,但仍应重视计算过程中的误差分析。第二章插值法一、实验目的:学会数值newton插值法、hermite插值法、线性插值及三次插值,并应用该算法解决实际问题。二、实验要求:对相应题目设计程序,并在matlab环境下,对程序进行调试、修改最终达到实验目的。三、实验数学原理:1.Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式)()('1kkkkxfxfxx产生逼近解x*的迭代数列{xk},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为:)()('1kkkkxfxfrxx其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。2.hermit插值多项式不仅满足在节点上的函数值相等而且导数值相等甚至高阶导数值也相等。3.n次插值(这里n=1,3):四、实验内容:1.给出f(x)=ln(x)的数值表,用线性插值及三次插值计算ln(0.54)的近似值。X0.40.50.60.70.8lnx-0.916291-0.693147-0.510826-0.357765-0.2231442.在44x上给出()xfxe的等距节点函数表,若用二次插值求xe的近似值,要使截断误差不超过610,问使用函数表的步长h应取多少?3.设f(x)=1/(1+)在[-5,5]上取n=10,按等距节点求分段线性插值函数I(x),计算各节点间中点处的I(x)与f(x)的值,并估计误差。4.给定数据表,失球hermit插值S(x),并满足(1)(2)0.250.300.390.450.530.50000.54770.62450.67080.7280五、程序分析;1.线性插值和三次插值x=0.4:0.1:0.8;%给出x,f(x)f=[-0.916291,-0.693147,-0.510826,-0.357765,-0.223144];formatlongF1=interp1(x,f,0.54,'linear')%用默认方法,即线性插值计算f(x)F2=interp1(x,f,0.54,'spline')%用三次样条插值方法计算f(x)F3=interp1(x,f,0.54,'cubic')%用三次多项式方法计算f(x)>>d21F1=-0.62021860000000F2=-0.61597777000000F3=-0.61604826180425二次插值:>>formatlong;%输入初始数据x0=[0.40.50.60.70.8];f0=[-0.916291-0.693147-0.510826-0.356675-0.223144];x=0.54;%插值点n=length(x0);s=0;%进入迭代计算过程forj=0:(n-1)t=1;fori=0:(n-1)ifi~=jt=t*(x-x0(i+1))/(x0(j+1)-x0(i+1));endends=s+t*f0(j+1);ends%显示输出结果formatshort;结果可知线性插值、二次插值、三次插值分别为F1=-0.62021860000000F2=-0.61597777000000s=-0.61614271520000以上结果显示线性插值误差比较大,二次插值和三次插值提高了精度。2.R(x)=1/6*e^4*[(x-x1+h)*(x-x1)*(x-x1-h)]=1/6*e^4*[(x-x1)^3-h^2*(x-x1)]给R(X)求导并且得出极值h^2=3(x-x1)^2将极值带入原方程得:R(X)=(h^3*e^4)/9*sqr...