插值与拟合实验报告
实验2插值与拟合

数值分析实验报告实验2 插值与拟合2.1 实验目的掌握牛顿插值法的基本思路和步骤;掌握最小二乘法的基本思路和拟合步骤。
培养编程与上机调试能力。
2.2 算法描述2.2.1 牛顿插值法基本思路给定插值点序列())(,i i x f x ,,,1,0,n i =构造牛顿插值多项式)(u N n 。
输入要计算的函数点,x 并计算)(x N n 的值,利用牛顿插值公式,当增加一个节点时,只需在后面多计算一项,而前面的计算仍有用;另一方面)(x N n 的各项系数恰好又是各阶差商,而各阶差商可用差商公式来计算。
2.2.2 牛顿插值法计算步骤1. 输入n 值及())(,i i x f x ,,,1,0,n i =;要计算的函数点x 。
2. 对给定的,x 由[][][]00010101201101()()(),()(),,()()(),,n n n N x f x x x f x x x x x x f x x x x x x x x x f x x x -=+-+--++--- 计算()n N x 的值。
3. 输出()n N x 。
2.2.3 最小二乘法基本思路已知数据对()(),1,2,,j j x y j n = ,求多项式0()()m ii i p x a x m n ==<∑使得20110(,,,)n m in i j j j i a a a a x y ==⎛⎫Φ=- ⎪⎝⎭∑∑ 为最小,这就是一个最小二乘问题。
2.2.4 最小二乘法计算步骤用线性函数()p x a bx =+为例,拟合给定数据(),,1,2,,i i x y i m = 。
算法描述:步骤1:输入m 值,及(),,1,2,,i i x y i m = 。
步骤2:建立法方程组TA AX AY =。
步骤3:解法方程组。
步骤4:输出()p x a bx =+。
2.3 实验内容1. 给定sin110.190809,sin120.207912,sin130.22491,o o o ===构造牛顿插值函数计算'sin1130o 。
插值与拟合试验

实验:插值与拟合实验目的1.掌握用MATLAB计算拉格朗日、分段线性、三次样条三种插值的方法,改变节点的数目,对三种插值的结果进行初步的分析。
2.掌握用MATLAB作线性最小二乘的方法。
3.通过实例学习如何用插值方法与拟合方法解决实际问题,注意二者的联系和区别。
实验内容选择一些函数,在n个节点上(n不要太大,如5~11)用拉格朗日、分段线性、三次样条三种插值方法,计算m个插值点的函数值(m要适中,如50~100)。
通过数值和图形输出,将三种插值结果与精确值进行比较。
适当增加n,再作比较,由此作初步分析。
y=exp(-x2),-2≤x≤2.取n=5,m=80用MATLAB计算插值数据比较如下:y是精确值,y1是分段线性值,y2是三次样条法插值,y3是拉格朗日插值由于对称性,只给出x>0的值程序:function y=lagr(x0,y0,x)%函数输入:n个节点以数组x0,y0输入,m个插值点以数组x输入?%函数输出:输出数组y为m个插值?n=length(x0);m=length(x);for i=1:mz=x(i);s=0.0;for k=1:np=1.0;for j=1:nif j~=kp=p*(z-x0(j))/(x0(k)-x0(j)); endends=p*y0(k)+s;endy(i)=s;end结果:x0=-2:0.5:2;y0=exp(-1*x0.^2);x=-2:0.05:2y=exp(-1*x.^2);y1=lagr(x0,y0,x);y2=interp1(x0,y0,x);y3=spline(x0,y0,x);[x;y;y1;y2;y3]'plot(x,y,'k--',x,y1,'r'),xlabel('x')ylabel('y/y1')title('拉格朗日插值(n=9,m=21)'),legend('原函数曲线','拉格朗日插值曲线'), pause,plot(x,y,'k--',x,y2,'r'),xlabel('x')ylabel('y/y2')title('分段线性插值(n=9,m=21)'),legend('原函数曲线','分段线性插值曲线'), pause,plot(x,y,'k--',x,y3,'r'),xlabel('x')ylabel('y/y1')title('三次样条插值(n=9,m=21)'),legend('原函数曲线','三次样条插值曲线'), x =Columns 1 through 9-2.0000 -1.9500 -1.9000 -1.8500 -1.8000 -1.7500 -1.7000 -1.6500 -1.6000Columns 10 through 18-1.5500 -1.5000 -1.4500 -1.4000 -1.3500 -1.3000 -1.2500 -1.2000 -1.1500Columns 19 through 27-1.1000 -1.0500 -1.0000 -0.9500 -0.9000 -0.8500 -0.8000 -0.7500 -0.7000Columns 28 through 36-0.6500 -0.6000 -0.5500 -0.5000 -0.4500 -0.4000 -0.3500 -0.3000 -0.2500Columns 37 through 45-0.2000 -0.1500 -0.1000 -0.0500 0 0.0500 0.1000 0.1500 0.2000Columns 46 through 540.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500Columns 55 through 630.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 1.0500 1.1000Columns 64 through 721.1500 1.2000 1.2500 1.3000 1.3500 1.4000 1.4500 1.5000 1.5500Columns 73 through 811.6000 1.6500 1.7000 1.7500 1.8000 1.8500 1.9000 1.95002.0000ans =-2.0000 0.0183 0.0183 0.0183 0.0183 -1.9500 0.0223 0.0048 0.0270 0.0207 -1.9000 0.0271 0.0011 0.0357 0.0243 -1.8500 0.0326 0.0044 0.0444 0.0292 -1.8000 0.0392 0.0127 0.0531 0.0355 -1.7500 0.0468 0.0243 0.0619 0.0433 -1.7000 0.0556 0.0381 0.0706 0.0525 -1.6500 0.0657 0.0535 0.0793 0.0633 -1.6000 0.0773 0.0700 0.0880 0.0757 -1.5500 0.0905 0.0873 0.0967 0.0897 -1.5000 0.1054 0.1054 0.1054 0.1054 -1.4500 0.1222 0.1244 0.1316 0.1229 -1.4000 0.1409 0.1446 0.1579 0.1421 -1.3500 0.1616 0.1660 0.1841 0.1633 -1.3000 0.1845 0.1889 0.2104 0.1863 -1.2500 0.2096 0.2136 0.2366 0.2114 -1.2000 0.2369 0.2402 0.2629 0.2384 -1.1500 0.2665 0.2689 0.2891 0.2675-1.1000 0.2982 0.2998 0.3154 0.2988 -1.0500 0.3320 0.3328 0.3416 0.3322 -1.0000 0.3679 0.3679 0.3679 0.3679 -0.9500 0.4056 0.4050 0.4090 0.4058 -0.9000 0.4449 0.4439 0.4501 0.4455 -0.8500 0.4855 0.4844 0.4912 0.4867 -0.8000 0.5273 0.5261 0.5322 0.5288 -0.7500 0.5698 0.5687 0.5733 0.5716 -0.7000 0.6126 0.6117 0.6144 0.6145 -0.6500 0.6554 0.6547 0.6555 0.6571 -0.6000 0.6977 0.6972 0.6966 0.6989 -0.5500 0.7390 0.7388 0.7377 0.7397 -0.5000 0.7788 0.7788 0.7788 0.7788 -0.4500 0.8167 0.8168 0.8009 0.8159 -0.4000 0.8521 0.8524 0.8230 0.8507 -0.3500 0.8847 0.8850 0.8452 0.8827 -0.3000 0.9139 0.9142 0.8673 0.9117 -0.2500 0.9394 0.9397 0.8894 0.9372 -0.2000 0.9608 0.9610 0.9115 0.9588 -0.1500 0.9778 0.9779 0.9336 0.9763 -0.1000 0.9900 0.9901 0.9558 0.9892 -0.0500 0.9975 0.9975 0.9779 0.99720 1.0000 1.0000 1.0000 1.0000 0.0500 0.9975 0.9975 0.9779 0.9972 0.1000 0.9900 0.9901 0.9558 0.9892 0.1500 0.9778 0.9779 0.9336 0.9763 0.2000 0.9608 0.9610 0.9115 0.9588 0.2500 0.9394 0.9397 0.8894 0.9372 0.3000 0.9139 0.9142 0.8673 0.9117 0.3500 0.8847 0.8850 0.8452 0.8827 0.4000 0.8521 0.8524 0.8230 0.8507 0.4500 0.8167 0.8168 0.8009 0.8159 0.5000 0.7788 0.7788 0.7788 0.7788 0.5500 0.7390 0.7388 0.7377 0.7397 0.6000 0.6977 0.6972 0.6966 0.6989 0.6500 0.6554 0.6547 0.6555 0.6571 0.7000 0.6126 0.6117 0.6144 0.6145 0.7500 0.5698 0.5687 0.5733 0.5716 0.8000 0.5273 0.5261 0.5322 0.5288 0.8500 0.4855 0.4844 0.4912 0.4867 0.9000 0.4449 0.4439 0.4501 0.44550.9500 0.4056 0.4050 0.4090 0.40581.0000 0.3679 0.3679 0.3679 0.3679 1.0500 0.3320 0.3328 0.3416 0.33221.1000 0.2982 0.2998 0.3154 0.2988 1.1500 0.2665 0.2689 0.2891 0.2675 1.2000 0.2369 0.2402 0.2629 0.2384 1.2500 0.2096 0.2136 0.2366 0.2114 1.3000 0.1845 0.1889 0.2104 0.1863 1.3500 0.1616 0.1660 0.1841 0.1633 1.4000 0.1409 0.1446 0.1579 0.1421 1.4500 0.1222 0.1244 0.1316 0.1229 1.5000 0.1054 0.1054 0.1054 0.1054 1.5500 0.0905 0.0873 0.0967 0.0897 1.6000 0.0773 0.0700 0.0880 0.0757 1.6500 0.0657 0.0535 0.0793 0.0633 1.7000 0.0556 0.0381 0.0706 0.0525 1.7500 0.0468 0.0243 0.0619 0.0433 1.8000 0.0392 0.0127 0.0531 0.0355 1.8500 0.0326 0.0044 0.0444 0.0292 1.9000 0.0271 0.0011 0.0357 0.02431.9500 0.0223 0.0048 0.0270 0.02072.0000 0.0183 0.0183 0.0183 0.0183上图是根据插值数据作出的曲线。
学生 实验一 拟合与插值

实验一拟合和插值教学目的1.了解最小二乘法的原理.2.通过实例的学习,懂得如何用拟合和插值的方法解决实际的问题,并能注意它们的联系与区别,会用Matlab来求解教学内容1.拟合与插值的原理及简单分类.2.相应问题的实例建模及用软件求解的实现.3.练习与上机实验的内容.插值:求过已知有限个数据点的近似函数。
拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。
插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的许多工程技术中提出的计算问题对插值函数的光滑性有较高要求,如飞机的机翼外形,内燃机的进、排气门的凸轮曲线,都要求曲线具有较高的光滑程度,不仅要连续,而且要有连续的曲率,这就导致了样条插值的产生。
所谓样条(Spline)本来是工程设计中使用的一种绘图工具,它是富有弹性的细木条或细金属条。
绘图员利用它把一些已知点连接成一条光滑曲线(称为样条曲线),并使连接点处有连续的曲率。
拟合:Zj2.m课堂练习与作业:1, 所有例题上机实现;P9 1.5 上机实现 2.4. 用下列数据拟合函数112223sin()k x y e k x x -=+中的参数12,k k 。
数据序号 y/kg x1/cm2 x2 x3 1 15.02 23.73 5.49 1.21 1415.94 23.52 5.18 1.98 2 12.62 22.34 4.32 1.35 15 14.33 21.86 4.86 1.59 3 14.86 28.84 5.04 1.92 16 15.11 28.95 5.18 1.37 4 13.98 27.67 4.72 1.49 17 13.81 24.53 4.88 1.39 5 15.91 20.83 5.35 1.56 18 15.58 27.65 5.02 1.66 6 12.47 22.27 4.27 1.50 19 15.85 27.29 5.55 1.70 7 15.80 27.57 5.25 1.85 20 15.28 29.07 5.26 1.82 8 14.32 28.01 4.62 1.51 21 16.40 32.47 5.18 1.75 9 13.76 24.79 4.42 1.4622 15.02 29.65 5.08 1.7010 15.18 28.96 5.30 1.66 23 15.73 22.11 4.90 1.8111 14.20 25.77 4.87 1.64 24 14.75 22.43 4.65 1.8212 17.07 23.17 5.80 1.90 25 14.35 20.04 5.08 1.5313 15.40 28.57 5.22 1.665. p163 5.6 结合上课ppt(数学建模实例:人口预报问题)。
第七讲 插值与拟合实验

y i = f ( xi ) 。插值函数一般是已知函数的线性组合或称为加权平均。用代数多项式作为插
值函数的插值法称为多项式插值,相应的多项式称为插值多项式。 插值和拟合是函数逼近的简单但又十分重要的方法。 插值法可以导出数值微分、 数值积 分和微分方程数值解等多方面的计算方法, 是数值分析的基本课题。 同时插值和拟合在工程 实践和科学实验中有着非常广泛而又十分重要的应用。 本实验将主要研究几种基本的插值方法(如 Lagrange 插值、分段线性插值、三次样条 插值等)和数据的最小二乘拟合方法。要求学会 Mathematica 提供的插值函数和拟合函数的 使用方法,会用这些函数解决实际问题。
基函数。容易证明
⎧1 li ( x j ) = δ ij = ⎨ ⎩0
i= j , i, j = 0,1& Ln ( xi ) = y i , i = 0,1, " , n 。 还可以从其他角度出发,构造出插值多项式,如牛顿(Newton)插值公式。 Lagrange 插值法最大的优点是函数具有很好的解析性质(无穷次可微) ,但是它也存在 固有的缺点:可能出现严重的振荡现象,并且多项式函数的系数依赖于观测数据。 例 1 考虑函数
3、 三次样条插值 在工程设计和机械加工等实际问题中,要求插值函数有较高的光滑度。在数学上,光滑 程度的定量描述是:函数(曲线)的 k 阶导数存在且连续,则称该曲线具有 k 阶光滑性。自 然,光滑性阶数越高其曲线光滑程度就越好。而上面介绍的分段线性插值,只具有零阶光滑 性,也就是不光滑的。虽然,提高分段函数如多项式函数的次数,可以提高整体曲线的光滑 程度, 但是, 是否存在较低次多项式达到较高光滑性的方法?三次样条插值就是一个很好的 例子。 样条曲线本身就来源于飞机、船舶等外形曲线设计问题。在工程实际中,要求此类曲线 应该具有连续的曲率,即连续的二阶导数。人们普遍使用的样条曲线是分段三次多项式。 定义 设 在 区 间 [a,b] 上 给 定 一 组 节 点 a = x 0 < x1 < " < x n = b 上 的 函 数 值
插值法和拟合实验报告

插值法和拟合实验报告一、实验目的1.通过实验了解插值法和拟合法在数值计算中的应用;2.掌握拉格朗日插值法、牛顿插值法和分段线性插值法的原理和使用方法;3.学会使用最小二乘法进行数据拟合。
二、实验仪器和材料1.一台计算机;2. Matlab或其他适合的计算软件。
三、实验原理1.插值法插值法是一种在给定的数据点之间“插值”的方法,即根据已知的数据点,求一些点的函数值。
常用的插值法有拉格朗日插值法、牛顿插值法和分段线性插值法。
-拉格朗日插值法:通过一个n次多项式,将给定的n+1个数据点连起来,构造出一个插值函数。
-牛顿插值法:通过递推公式,将给定的n+1个数据点连起来,构造出一个插值函数。
-分段线性插值法:通过将给定的n+1个数据点的连线延长,将整个区间分为多个小区间,在每个小区间上进行线性插值,构造出一个插值函数。
2.拟合法拟合法是一种通过一个函数,逼近已知的数据点的方法。
常用的拟合法有最小二乘法。
-最小二乘法:通过最小化实际观测值与拟合函数的差距,找到最优的参数,使得拟合函数与数据点尽可能接近。
四、实验步骤1.插值法的实验步骤:-根据实验提供的数据点,利用拉格朗日插值法、牛顿插值法、分段线性插值法,分别求出要插值的点的函数值;-比较三种插值法的插值结果,评价其精度和适用性。
2.拟合法的实验步骤:-根据实验提供的数据点,利用最小二乘法,拟合出一个合适的函数;-比较拟合函数与实际数据点的差距,评价拟合效果。
五、实验结果与分析1.插值法的结果分析:-比较三种插值法的插值结果,评价其精度和适用性。
根据实验数据和插值函数的图形,可以判断插值函数是否能较好地逼近实际的曲线。
-比较不同插值方法的计算时间和计算复杂度,评价其使用的效率和适用范围。
2.拟合法的结果分析:-比较拟合函数与实际数据点的差距,评价拟合效果。
可以使用均方根误差(RMSE)等指标来进行评价。
-根据实际数据点和拟合函数的图形,可以判断拟合函数是否能较好地描述实际的数据趋势。
插值法和拟合实验报告(数值计算)

插值法和拟合实验报告一、实验目的1.通过进行不同类型的插值,比较各种插值的效果,明确各种插值的优越性;2.通过比较不同次数的多项式拟合效果,了解多项式拟合的原理;3.利用matlab 编程,学会matlab 命令;4.掌握拉格朗日插值法;5.掌握多项式拟合的特点和方法。
二、实验题目1.、插值法实验将区间[-5,5]10等分,对下列函数分别计算插值节点kx 的值,进行不同类型的插值,作出插值函数的图形并与)(x f y =的图形进行比较:;11)(2x x f += ;arctan )(x x f = .1)(42x x x f +=(1) 做拉格朗日插值; (2) 做分段线性插值; (3) 做三次样条插值.2、拟合实验给定数据点如下表所示:分别对上述数据作三次多项式和五次多项式拟合,并求平方误差,作出离散函数),(i i y x 和拟合函数的图形。
三、实验原理1.、插值法实验∏∑∏∏∏∑∑≠==≠=≠=≠=+-==--==-===-=-=----==++==ji j ji i i i i ni i n nji j jnji j ji i nji j jn i i i ni i n nn o i ni i n x x x x x y x l x L x x c ni x x c x x x cx x x x x x x x c y x l x L y x l y x l y x l x L ,00,0,0,0110000)(l )()()(1,1,0,1)()(l )()())(()()()()()()()(,故,得再由,设2、拟合实验四、实验内容1.、插值法实验1.1实验步骤:打开matlab软件,新建一个名为chazhi.m的M文件,编写程序(见1.2实验程序),运行程序,记录结果。
1.2实验程序:x=-5:1:5;xx=-5:0.05:5;y1=1./(1+x.^2);L=malagr(x,y1,xx);L1=interp1(x,y1,x,'linear');S=maspline(x,y1,0.0148,-0.0148,xx);hold on;plot(x,y1,'b*');plot(xx,L,'r');plot(x,L1,'g');plot(xx,S,'k');figurex=-5:1:5;xx=-5:0.05:5;y2=atan(x);L=malagr(x,y2,xx);L1=interp1(x,y2,x,'linear');S=maspline(x,y2,0.0385,0.0385,xx);hold on;plot(x,y2,'b*');plot(xx,L,'r');plot(x,L1,'g');plot(xx,S,'k');figurex=-5:1:5;xx=-5:0.05:5;y3=x.^2./(1+x.^4);L=malagr(x,y3,xx);L1=interp1(x,y3,x,'linear');S=maspline(x,y3,0.0159,-0.0159,xx);hold on;plot(x,y3,'b*');plot(xx,L,'r');plot(x,L1,'g');plot(xx,S,'k');1.3实验设备:matlab软件。
实验1—插值与拟合

《计算方法》实验报告二级学院:计算机学院专业:指导教师:班级学号:姓名:实验一 插值与拟合1、 实验目的:① 通过编程和插值与拟合中的某种具体算法解决具体问题,更深一步的体会 计算方法这门课的重要性,并加深对插值与拟合公式某种具体算法的理解。
② 熟悉编程环境。
2、实验要求:实现插值与拟合中的某种具体算法编写并执行 3、实验内容:1)用牛顿法求解01553=-x 的根,取初始值为10。
2)用弦截法求解数学方程。
x*x*x-x-1=0 ,x=[1,1.5] 4、题目: 插值与拟合5、原理:(1)用牛顿法求01553=-x 的根的原理:牛顿迭代法是以微分为基础的,由于曲线不规则,微分就是用直线代替曲线, 牛顿迭代法是取x0之后,找比x0更近的方程的根,多次迭代后,找更近似 的根。
(2)用弦截法求解 x*x*x-x-1=0设x0,x1是f(x)=0的近似值,利用f(x0),f(x1)构造一次插值多项式f1,并用f1 =0作为f(x)=0的新的近似根。
其几何意义:依次用弦线代替曲线,用线性函 数的零点作为函数零点的近似值。
6、设计思想:(1)用牛顿法求01553=-x 的根的思想:用直线代替曲线,用线性函 数的零点作为函数零点的近似值。
(2)用弦截法求根思想:依次用弦线代替曲线,用线性函 数的零点作为函数零点的近似值。
7、对应程序:用牛顿法求解01553=-x 的根,取初始值为10。
#include<stdio.h> #include<math.h> void main(void) {float x0=10;float f0=x0*x0*x0-155; float f1=3*x0*x0; float x1=x0-f0/f1; while(fabs(x0-x1)>1e-6) {x0=x1;f0=x0*x0*x0-155; x1=x0-f0/f1;}printf("%.3f\n",x1); }弦截法求根 x*x*x-x-1=0 ,x=[1,1.5] #include<stdio.h> #include<math.h> void main(void) {float x0=1.5; float x1=1;float f0=x0*x0*x0-x0-1; float f1=x1*x1*x1-x1-1;float x=x0-(x1-x0)/(f1-f0)*f0; while(fabs(x-x1)>1e-6) {x1=x;f1=x1*x1*x1-x1-1;x=x0-(x1-x0)/(f1-f0)*f0; }printf("%.3f\n",x); }8、实验结果:01553=-x 的根是5.372 x*x*x-x-1=0 ,的根是 1.325 9、图形10、实验体会:通过编程,切身感到计算方法这门课绝不仅仅是数学,是图形的观察和实际计算方法的应用,从而解决一些复杂的数值问题。
插值与拟合实验

(3)三次样条插值 y
比分段线性插值更光滑。
xi-1 xi
b x
a
在数学上,光滑程度的定量描述是:函数(曲线)的k 阶导数存在且连续,则称该曲线具有k阶光滑性。 光滑性的阶次越高,则越光滑。是否存在较低次的分 段多项式达到较高阶光滑性的方法?三次样条插值就是一
x
Matlab程序: ch608.m
4、用MATLAB做二维网格节点数据的插值
z=interp2(x0,y0,z0,x,y,’method’)
被插值点的 函数值 插值 节点 被插值点
插值方法
‘nearest’ 最邻近插值 ‘linear’ 双线性插值 ‘cubic’ 双三次插值 缺省时, 双线性插值 要求x0,y0单调;x,y可取为矩阵,或x取行向量,y取
称为拉格朗日插值基函数。特别的:
两点一次(线性)插值多项式:
x x0 x x1 L1 x y0 y1 x0 x1 x1 x0
三点二次(抛物)插值多项式:
x x1 x x2 y x x0 x x2 y x x0 x x1 y L2 x 0 1 2 x0 x1 x0 x2 x1 x0 x1 x2 x2 x0 x2 x1
其中 a1, a2, …am 为待定系数。 第二步: 确定a1,a2, …am 的准则(最小二乘准则):
使n个点(xi, yi) 与曲线y=f (x)的距离i 的平方和最小 。 记 J (a1 , a2 , am )
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生实验报告
了解插值与拟合的基本原理和方法;掌握用MATLAB计算插值与作最小二乘多项式拟合和曲线拟合的方法;通过范例展现求解实际问题的初步建模过程;
通过动手作实验学习如何用插值与拟合方法解决实际问题,提高探索和解决问题的能力。
这对于学生深入理解数学概念,掌握数学的思维方法,熟悉处理大量的工程计算问题的方法具有十分重要的意义。
二、实验仪器、设备或软件:电脑,MATLAB软件
三、实验内容
1.编写插值方法的函数M文件;
2.用MATLAB中的函数作函数的拟合图形;
3.针对实际问题,试建立数学模型,并求解。
四、实验步骤
1.开启软件平台——MATLAB,开启MATLAB编辑窗口;
2.根据各种数值解法步骤编写M文件;
3.保存文件并运行;
4.观察运行结果(数值或图形);
5.写出实验报告,并浅谈学习心得体会。
五、实验要求与任务
根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→数学模型→算法与编程→计算结果→分析、检验和结论→心得体会)。
1.天文学家在1914年8月的7次观测中,测得地球与金星之间距离(单位:米),并取得常用对数值,与日期的一组历史数据如下表:
由此推断何时金星与地球的距离(米)的对数值为9.93518?
解:输入命令
days=[18 20 22 24 26 28 30];
distancelogs=[9.96177 9.95436 9.94681 9.93910 9.93122 9.92319 9.91499]; t1=interp1(distancelogs,days,9.93518) %线性插值
t2=interp1(distancelogs,days,9.93518,'nearest') %最近邻点插值
t3=interp1(distancelogs,days,9.93518,'spline') %三次样条插值
t4=interp1(distancelogs,days,9.93518,'cubic') %三次插值
计算结果:
t1 =
24.9949
t2 =
24
t3 =
25.0000
t4 =
25.0000
综上所得,可推断25日金星与地球的距离(米)的对数值为9.93518。
2.在某海域测得一些点(x,y)处的水深z由下表给出,船的吃水深度为5英尺,在矩形区域(75,200)×(-50,150)里的哪些地方船要避免进入。
(1)输入插值基点数据;
(2)在矩形区域(75,200)×(-50,150)作二维插值;
(3)作海底曲面图;
(4)作出水深小于5的海域范围,即z=5的等高线。
解:
程序:
%输入插值基点数据
x=[129 140 103.5 88 185.5 195 105 157.5 107.5 77 81 162 162 117.5];
y=[7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -33.5];
z=[4 8 6 8 6 8 8 9 9 8 8 9 4 9];
z=-z;
%在矩形区域(75,200)×(-50,150)作二维插值
cx=75:0.5:200;
cy=-50:0.5:150;
cz=griddata(x,y,z,cx,cy','cubic');
%作海底曲面图
subplot(1,2,1),meshz(cx,cy,cz)
xlabel('x'),ylabel('y'),zlabel('z')
%作出水深小于5的海域范围,即z=5的等高线
subplot(1,2,2),[c,h]=contour(cx,cy,cz);
clabel(c,h,-5)
插值后作出的海底曲面图及等高线图如下:
若船的吃水深度为5英尺,在矩形区域(75,200)×(-50,150)里如上图等高线-5m 内的地方船要避免进入。
3.用电压V =10伏的电池给电容器充电,电容器上t 时刻的电压为
τt
e V V V t v -
--=)()(0,其中V 0是电容器的初始电压,τ是充电常数。
试由下面一组(t ,v )数据确定V 0和 τ。
解一:
(1)用命令lsqcurvefit。
1)编写M文件curvefun1.m
function f=curvefun1(x,tdata)
f=10-(10-x(1))*exp(-tdata/x(2));
2)主程序xitithree1.m如下
tdata=[0.5 1 2 3 4 5 7 9];
cdata=[6.36 6.48 7.26 8.22 8.66 8.99 9.43 9.63];
x0=[0.4316,1];
x=lsqcurvefit('curvefun1',x0,tdata,cdata)
f=curvefun1(x,tdata)
3)运行主程序,得结果为
x =
5.5577 3.5002
f =
6.1490 6.6616
7.4913
8.1147 8.5832 8.9353
9.3987 9.6604
即拟合得V0=5.5577, =3.5002。
(2)用命令lsqnonlin。
1)编写M文件curvefun2.m
function f=curvefun2(x)
tdata=[0.5 1 2 3 4 5 7 9];
cdata=[6.36 6.48 7.26 8.22 8.66 8.99 9.43 9.63];
f=cdata-10+(10-x(1))*exp(-tdata/x(2));
2)主程序xitithree2.m如下
x0=[0.4316,1];
x=lsqnonlin('curvefun2',x0)
f=curvefun2(x)
3)运行主程序,得结果为
x =
5.5577 3.5002
f =
0.2110 -0.1816 -0.2313 0.1053 0.0768 0.0547 0.0313 -0.0304
结果同上,即拟合得V 0=5.5577, τ=3.5002。
解二:
(1)对将要拟合的非线性模型τt
e V V V t v ---=)()(0,建立M 文件volum.m 如下:
function yhat=volum(beta,t)
yhat=10-(10-beta(1))*exp(-t./beta(2)); (2)输入数据:
t=[0.5 1 2 3 4 5 7 9];
y=[6.36 6.48 7.26 8.22 8.66 8.99 9.43 9.63];
beta0=[5 3]';
(3)求回归系数:
[beta,r,J]=nlinfit(t',y','volum',beta0);
beta
得结果:beta =
5.5577
3.5002 即得回归模型为:5002.3)5577.510(10)(t e
t v ---=
(5) 预测及作图:
[YY,delta]=nlpredci('volum',t',beta,r,J);
plot(t,y,'k+',t,YY,'r')
七、指导教师评语及成绩:。