06matlab插值与拟合实验.pptVIP

  • 104
  • 0
  • 约5.26千字
  • 约 38页
  • 2017-05-21 发布于浙江
  • 举报
06matlab插值与拟合实验

拟合参数 function c=curvefun(r,t) c=r(1)+r(2)*exp(-0.02*r(3)*t); %其中 r(1)=a; r(2)=b;r(3)=k; (1)编写M-文件 curvefun.m 拟合参数 (2)调用拟合主命令 tdata=100:100:1000; cdata=1e-3*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39, 6.50,6.59]; r0=[0.2,0.05,0.05]; r=lsqcurvefit (curvefun,r0,tdata,cdata) err=sum(((curvefun(r,tdata)-cdata).^2)) %偏差的平方和 验证拟合效果 (3) 返回结果r= 0.0063 -0.0034 0.2542 plot(tdata,cdata,rO,Linewidth,2) tdata1=100:5:1000; cdata1= curvefun(r,tdata1); hold on plot(tdata1,cdata1,k,Linewidth,2) legend(Original Data,Fitfunction) (4) 绘图查看拟合效果 1. 通过机理分析建立数学模型来确定 f(x); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + f=a1+a2x f=a1+a2x+a3x2 f=a1+a2x+a3x2 f=a1+a2/x f=aebx f=ae-bx 2. 将数据 (xi,yi) i=1, …n 作图,通过直观判断确定 f(x): 经验函数介绍 课堂上机3:化学反应拟合实验 在某化学反应里,测得生成物的质量浓度y(10^(-3)g/cm^3)与时间t的关系如下表。为了研究该化学反应的性质,如反应速度等,欲求y与t之间的连续函数关系式y=f(t)。 分别用 ①线性函数 ②y=a*exp(b/t) ③y=t/(a*t+b) 来拟合下表数据,哪个函数拟合效果最好。 t 1 2 3 4 5 6 7 8 9 10 y 4.00 6.41 8.01 8.79 9.53 9.86 10.33 10.42 10.53 10.61 课外作业1:一维插值实验 在某处测得海洋不同深度处水温如下 ,求深度为500、1000、1500米处的水温。 深度 446 714 950 1422 1634 水温 7.04 4.28 3.40 2.54 2.13 课外作业2:人口数量预测实验 利用下表中给出的我国1971年到1990年人口数的统计数据,建立我国人口数量增长的近似曲线,并用它来预测2000,2010,2020年的人口数。分别用Malthus模型和Logistic模型来拟合,比较其效果。 y1=C*exp(r*t) y2=K*y0*exp(r*t)/[K+y0(exp(r*t)-1)] 年份 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 人口 8.523 8.718 8.921 9.086 9.242 9.372 9.497 9.626 9.754 9.871 年份 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 人口 10.007 10.165 10.301 10.436 10.585 10.751 10.93 11.103 11.27 11.433 数学实验 内容提要 二元函数插值 多项式拟合 一元函数插值 非线性最小二乘拟合 问题的引入-机翼轮廓线的设计 下表给出的数据位于机翼端面的轮廓线上,Y1和Y2分别对应轮廓的上下线。假设需要得到x坐标每改变0.1时的坐标,(1)试完成加工所需数据,画出曲线; (2)求加工端面的面积。 x 0 3 5 7 9 11 12 13 14 15 Y1 0 1.8 2.2 2.7 3.0 3.1 2.9 2.5 2.0 1.6 Y2 0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6 多项式插值 多项式插值 yi = interp1(x,y,xi,method) 说明:求已知同维数据x,y,运用指定的方法method计算插值点xi处的函数值yi。 Method的方法 nearest:最近点插值法 linear:线性插值,用直线连接数据点 spline:样条插值,用三次样条曲线 cubic:立方插值,用三次曲线 比较不同方法插值效果 x=0:10;y=sin(x);xi=0:.25:10; yi1 = interp1(x,y,xi,nearest); yi2 = int

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档