当前位置:   article > 正文

matlab水塔用水问题建模,MATLAB水塔用水量的估计-插值汇总.ppt

matlab水塔问题

实验名称:插值方法建模与计算;[1] 了解一维插值的基本原理,了解拉格朗日插值、线性插值、样条插值的基本思想;

[2] 掌握用MATLAB计算三种一维插值的方法,并对结果作初步分析;

[3] 通过实例学习如何用插值方法解决实际问题。

;主要内容;?;函数f(x)的产生办法:插值和拟合。 第一步:适当选择函数的形式;第二步:确定函数的参数。;引例:数控机床加工;求解插值问题的基本思路; 设函数g(x)在n+1个点x0,x1,…,xn处的函数值已知,为 y0,y1,…,yn 。求一个分段( 共n段)线性函数q(x),使其满足: q(xj)=yj , j=0,1,…,n.; f(x)为被插值函数。;用MATLAB作分段线性插值计算; 例:在1-12的11小时内,每隔1小时测量一次温度,测得的温度依次为:5,8,9,15,25,29,31,30,22,25,27,24。试估计每隔1/10小时的温度值。;hours=1:12;temps=[5 8 9 15 25 29 31 30 22 25 27 24];h=1:.1:12;t=interp1(hours,temps,h)plot(hours,temps,'+',h,t)title('线性插值下的温度曲线'),xlabel('Hour'),ylabel('Degrees Celsius');程序运行结果:;返 回 ;拉格朗日(Lagrange)多项式插值;已知 n+1个节点;有唯一解; 已知函数f(x)在n+1个点x0,x1,…,xn处的函数值为 y0,y1,…,yn 。求一n次多项式函数Pn(x),使其满足: Pn(xi)=yi,i=0,1,…,n.;例 将[0,?/2] n等分,在g(x)=cos(x)上取n+1个节点,作Pn(x)(取n=1,2) ,计算Pn(?/6),与 cos(?/6)比较, 观察误差。;n=2时: (x0,y0)=(0,1), (x1,y1)=(?/4,0.7071), (x2,y2)=(?/2,0),;拉格朗日多项式插值的振荡现象;返 回 ; 三次样条插值; 三次样条函数 S(x), x∈[a, b] , 满足: 1) S(x) 在每一个小区间[xi-1,xi]上是一个三次多项式函数 ; 2) 在整个区间[a,b]上,其二阶导数存在且连续。; 问题:给定n+1个节点(x0, y0 ),(x1, y1 ) ,…, (xn, yn), 求一个三次样条函数S(x),使其满足: S(xi)=yi,i=0,1,…,n.;;参数:每个小段上4个,n个小段共计4n个。方程:1) 每个小段上由给定函数值得到2个,n个小段共计2n个; 2) 光滑性要求每一个内部节点的一阶二阶导数连续,得出其左右导数相等,因此,每个节点产生2个方程,共计2(n?1) 个 。现在得到了4n?2个方程,还差两个。为此,常用的方法是对边界节点除函数值外附加要求,这就是所谓的边界条件。需要两个,正好左右两个端点各一个。;Method可取:‘nearest’ :最邻近插值;‘spline’ :三次样条插值;‘cubic’ : 立方插值;缺省时: 分段线性插值。注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围。;例:在;x0=linspace(-5,5,11);y0=1./(1+x0.^2);x=linspace(-5,5,100);y=interp1(x0,y0,x,'spline');x1=linspace(-5,5,100);y1=1./(1+x1.^2);plot(x1,y1,'k',x0,y0,'+',x,y,'r');;返 回 ;;x0=-5:5;y0=1./(1+x0.^2);x=-5:.1:5;y=1./(1+x.^2);n=length(x0);m=length(x);for i=1:m z=x(i); s=0; for k=1:n p=1; for j=1:n if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); end end ;s=p*y0(k)+s; end y1(i)=s;endy2=interp1(x0,y0,x);y3=spline(x0,y0,x);subplot(1,3,1)plot(x,y,x,y1)subplot(1,3

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/193195
推荐阅读
相关标签
  

闽ICP备14008679号