文档详情

数值分析上机实验报告

ni****g
实名认证
店铺
DOC
174KB
约34页
文档ID:537574811
数值分析上机实验报告_第1页
1/34

西安工程大学·数值计算方法实验报告 实验报告一题目: (绪论) 非线性方程求解及误差估计摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要本实验采用两种常见的求解方法二分法、Newton法和改进的Newton法可以节省计算机的计算时间,还能减小不必要的误差前言:(目的和意义)掌握二分法与Newton法的基本原理、应用以及熟练掌握用MATLAB求函数积分数学原理:(1) 函数的调用格式:quadl(filename,a,b,tol,trace) 其中filename是调用函数名,a和b分别为定积分的下限和上限用来控制积分精度2)秦九韶算法: Sn=an Sk=xSk+1+ak (k=n-1,n-2,...,0), Pn(x)=S0程序设计:例1.1 计算积分 利用MATLAB,下面给出主程序>>g=inline('x.^10.*exp(x-1)'); %定义一个语句函数g(x)=exp(x^10*exp(x-1))I=quadl(g,0,1) I =0.0098例1.9 秦九韶算法a0=3,ak=2ak-1+3,Pn(x)=anx^n+an-1x^(n-1)+...+a1x+a0求I1=P100(0.5),I2=P150(13)>>x=input('x='); n=input('n='); a=3;for i=1:n a=2*a+3;end s=z; b=(a-3)/2; for m=1:100s=x*s+b; b=(b-3)/2; end disp(s);>>x=0.5n=100 600.0000>>x=3n=100 4.7039e+078结果分析和讨论:结论:对于二分法,只要能够保证在给定的区间内有根,使能够收敛的,当时收敛的速度和给定的区间有关,二且总体上来说速度比较慢。

Newton法,收敛速度要比二分法快,但是最终其收敛的结果与初值的选取有关,初值不同,收敛的结果也可能不一样,也就是结果可能不时预期需要得结果改进的Newton法求解重根问题时,如果初值不当,可能会不收敛,这一点非常重要,当然初值合适,相同情况下其速度要比Newton法快得多实验报告二题目: (插值法)用各类插值方法法求解相关数值分析问题摘要: 非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法前言:(目的和意义)掌握插值法的基本原理及用插值法求解相关数值分析问题的方法以及熟练掌握用MATLAB求函数积分数学原理: MATLAB提供了一、三、N维数据插值函数以及三次样条插值函数等数据插值问题为一维插值,其采用的方法有线性方法、最近方法、三次样条和三次插值,在MATLAB中,实现这些插值的函数为interp1,其调用格式为inpert1(a,b,c,method);函数根据a、b的值,计算函数在c处的值,method为插值方法,'linear' 为线性插值,'cubic'为三次多项式插值,'spline' 为三次样条插值。

程序设计:3.给出f(x)=lnx,用一、二、三次线形插值计算`ln0.54的近似值x0.40.50.60.70.8-0.916291-0.693147-0.510826-0.357765-0.223144>>x=0.4:0.1:0.8;f=[-0.916291,-0.693147,-0.510826,-0.357765,-0.223144];I1=interpl(x,f,0.54) %用一次线形插值计算f(x) I1 = -0.620218600000000I3=interp1(x,f,0.54,'spline') %用3次样条插值计算f(x)I3 = -0.61597777000000021.设f(x)=1/(1+x^2),在[-5,5]上取n=10,安等距节点求分段线性插值函数Ib(x),计算节点间中点处的 与f(x)的值,并估计误差>> x=linspace(-5,5,10);>> y=1\(1+(x.^2));>> p=polyfit(x,y,1)p = 0.0000 11.18524.给定数据如下表,试求三次样条插值及Hermite插值S(x),并满足条件: (1)S'(0.25)=1.0000, S'(0.53)=0.6868 (2)S''(0.25)=S''(0.53)=0xi0.250.300.390.450.53yi0.500000.54770.62450.67080.7280(1)>>x=[0.25,0.30,0.39,0.45,0.53]; y=[0.5000,0.5477,0.6245,0.6708,0.7280]; p=polyfit(x,y,'spline') %三次样条插值函数程序>>p =0.732659297655720 -1.394857855010107 1.553581221803837 0.187348425537683(2)用Hermite程序: n=length(x0); m=length(x); for k=1:m y=0.0; for i=1:n h=1.0; a=0.0; for j=1:n if j~=i h=h*((x(k)-x0(j))/(x0(i)-x0(j)))^2; a=1/(x0(i)-x0(j))+a; end end y=y+h*((x0(i)-x(k))*(2*a*y0(i)-dy(i))+y0(i)); end y(k)=y;endx0=[0.25,0.30,0.39,0.45,0.53];Y0=[0.5000,0.5477,0.6245,0.6708,0.7280];H=hermite(x0,y0)结果分析和讨论:结论:实验报告三题目: (函数逼近与计算)用曲线拟合的最小二乘法求解相关数值分析问题摘要:与数值差值类似,曲线拟合的目的也是用一个简单的函数去逼近一个复杂的或未知的函数,在构造函数去逼近,不要求曲线严格通过采样点,但希望能尽量的靠近这些点,从而使误差尽可能的小。

前言:(目的和意义)掌握曲线拟合的最小二乘法的基本原理以及熟练掌握用MATLAB求曲线拟合求解相关数值分析问题的方法数学原理:程序设计:(1)观察物体的直线运动,得出时间t与距离s的关系如下表3.7,求运动方程表3.7t/s00.91.93.03.95.0S/m010305080110t=[0,0.9,1.9,3.0,3.9,5.0];s=[0,10,30,50,80,110];plot(t,s) %先用MATLAB绘出图形 可以看出s是关于t的近似一元二次函数,用MATLAB曲线拟合运动方程:t=[0,0.9,1.9,3.0,3.9,5.0];s=[0,10,30,50,80,110];P=polyfit(x,y,2)P=[2.2488,11.0814,-0.5834]即运动方程为:s=2.2488x^2+11.0814x-0.5834 (2)在某化学反应里,根据实验所得分解物的质量分数y于是间t的关系如表3.8所示,用最小二乘拟合求y=F(x).t/min0510152025y/×01.272.162.863.443.87t/min303540455055y/×4.154.374.514.584.624.64t=0:5:55;>> y=[0,1.27,2.16,2.86,3.44,3.87,4.15,4.37,4.51,4.58,4.62,4.64]y = 0 1.2700 2.1600 2.8600 3.4400 3.8700 4.1500 4.3700 4.5100 4.5800 4.6200 4.6400>> plot(t,y) %运用MATLAB绘出y关于t的图形为一元二次函数>> P=polyfit(t,y,3) %三次、二次、一次和常数项的系数P = 0.0000 -0.0049 0.2557 0.0442y=F(t)=-0.0049+0.2557t+0.0442结论: 曲线拟合最小二乘法是数值分析研究中一个重要领域之一,通过借助于其他的数学工具,我们可以更加深刻的理解“拟合”的真实含义,求解数学问题更加容易。

实验报告四题目: (数值积分与数值微分)用Simpson公式,Romberg方法,三点及五点Gauss公式,复化两点Gauss公式计算某些函数的定积分摘要:计算某些函数的积分时,由于寻找原函数比较困难,需结合MATLAB就可以很快而且容易的算出结果前言:(目的和意义)熟悉Simpson公式,Romberg方法,三点及五点Gauss公式,复化两点Gauss公式的形式以及熟练掌握并结合MATLAB计算某些函数数学原理:程序设计:4.用 simpson 公式求积分 并估计误差>> a=0; b=1; h=inline('exp(-x)'); s=((b-a)/6)*[h(a)+4*h((a+b)/2)+h(b)]s =0.6323 %用simpson 公式求积分 >> f=inline('exp(-x)'); S‘=quadl(g,0,1)S‘ = 0.6321 %输出结果准确值误。

下载提示
相似文档
正为您匹配相似的精品文档