版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
当我们在表现资料时,常常会有需要比实际量测点上的值更细密的情况,或者是有需要在范围外预测其值。比方说天气图的绘制,不论是气压或是雨量,都不可能做到处处都有测量站,又例如我们关心一天之中温度随时间的变化,但是实际上记录气温的动作可能只是每小时一次,则我们要作一个连续的图时,就会用到插值法。插值法的中心议题是:在我们己具备一组表列数(tabulatedvalue)的情况下,如何得出没被定到之区域的值。我们会要用到插值法的场合往往都不知道描述对象背後的函数是什麽形式(但相信其有连续的本质),因此我们也只能尽力求真实。使用插值法所建立的函数,在表列点上一定要重现原本给定的表列值,否则就不是插值法而是函数近似或曲线拟合的间问题了,它们是不一样的。插值的作法,很直观地来讲,就是,(1)先从表列值来获得函数f(x),再(2)用函数f(x)求出我们所要的任何特定x之f(x)函数值。然而,比较精密且系统化的数值方法却不是用这两个步骤来进行插值,原因是前述两阶段方法对於插值的精密度并没有控制,效率较差,也比较会有进位误差。一般在做插值法,是从欲插值点x附近的几个表列点xi开始,建立插值函数f(x),并且也试着网罗更多表列点来插值,看随着项数变多误差会不会变小,如此找出最适合的函数f(x)。我们会比较希望演算法在从表列值建立插值用函数时,也能提供误差分析以供我们或程式来判断。毕竟可用的插值函数f(x)并非唯一,而即便是己设定了采用一种方法,如多项式法,也会有该使用多少项才最恰当的问题。建立插值函数所需之邻近表列值个数,我们称之为插值法的order(阶),较高阶未必保证得到较合理的插值,这点在多项式插值法尤其如此,要小心注意。详见课文中之例图两图实线都是原现象背後的真正值,短虚线代表低阶多项式插值结果,长虚线代表高阶多项式插值结果。明显可见,case(a)高阶者较准确,而case(b)则是低阶较准确。线性插值法(LinearInterpolation)所有的插值法里面最简单的莫过於线性插值法,任两个相邻的表列点之间必可以拉一条直线把它们连起来,如此在之间的x值就都有线性函数y(x)可以对应到,利用直线上的斜率必为固定值的特性,其公式是(以(x1,y1)、(x2,y2)为两个相邻的表列点为例):(y-y1)/(x-x1)=(y2-y1)/(x2-x1)经整理後得y=[(y2-y1)/(x2-x1)](x-x1)+y1注意等号的右边全是x与常数,我们因此有了y(x)的明确公式可用。提醒大家,在Fortran的语法里,callpolint(xx,yy,18,x,y,dy)就是callpolint(xx(1),yy(1),18,x,y,dy)的意思,即呼叫副程式所传的引数是阵列或变数的起始位置。如何搜寻有序的表我们前面已经建立了从两个点唯一决定一条直线的线性插值法,那麽在已知一系列表列点的情况下,被要求要插值某x点上求y,自然我们必需取用xi<x<xi+1的那两个点(xi,yi)及(xi+1,yi+1)来做线性插值。简单的说,现在的问题是,给定x,如何找到i?我们可以想像,若把程式写成从最小或从最大的表列点开始与x比对,万一x值离那端很远就会没有效率。课本提供了二分法(bisection)的方法,首先先判断x有没有小於x1或大於xN,若确定x在其中则拿其中间点xN/2(若N非偶数就用N+1)或来与x比,判断出x是在x1与xN/2之间或是xN/2与xN之间,然後重覆策略,每次都是取用新上下限的中间点去搜寻。课本提供locate副程式给读者作二分法搜寻,详见之。以下图例:如果我们要做一系列相邻插值点的插值,比方说要做图产生图点用,则每个新点会邻近於旧点。若每次都由最大范围的上下限开始用二分法,则会花很多冤枉工。有效的策略应是,每次找表列点时,从上一次获得的表列点开始,如此有最大的机会命中,若小於x,则以次两倍步幅变大跳跃向右寻找,直到找到的点比x大,再改用bisection,这样较有效率。课本提供hunt副程式做上述工作,详见之。以下图例:最後,还有一个问题:虽然用locate或hunt可以由x得j,其中j与j+1表列点会把x包夹住,但像是多项式插值法,若我们一次要用(一共是N个点中的)m个点(m比方说是4),能使用j-1、j、j+1、j+2当然很好,但若j太靠近两侧,例如j是1或j+1是N的话,j就不能选作是那m个点的中间点了,这样要如何处理?答案:使用下列指令,针对j、m、N去作运算,则会把边边调到刚刚好,为什麽?可自己想一想。k=min(max(j-(m-1)/2,1),N+1-m)呼叫副程式时,像这样callpolint(xx(k),yy(k),m,x,y,dy)副程式的使用注意polint、hunt或与locate的配合。使用polint时,注意NMAX=10是最大可用的n值SUBROUTINEpolint(xa,ya,n,x,y,dy)INTEGERn,NMAXREALdy,x,y,xa(n),ya(n)PARAMETER(NMAX=10)Largestanticipatedvalueofn.Givenarraysxaandya,eachoflengthn,andgivenavaluex,thisroutinereturnsavaluey,andanerrorestimatedy.IfP(x)isthepolynomialofdegreeN?
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学数学基础知识体系的构建与教学方法
- 2025年度个人教育贷款延期支付合同3篇
- 教育领域中工业互联网的安全培训与推广
- 2025年度个人住房贷款利率调整协议合同范本4篇
- 二零二五年度车辆借用及道路救援服务合同3篇
- 二零二五年度餐饮企业员工培训与职业发展合同6篇
- 江苏2025年江苏卫生健康职业学院博士专项招聘13人笔试历年参考题库附带答案详解
- 永州2025年湖南永州市零陵区引进急需紧缺专业人才66人笔试历年参考题库附带答案详解
- 楚雄2025年第一批云南楚雄南华县紧密型县域医共体招聘编制外工作人员笔试历年参考题库附带答案详解
- 探究式课堂中的教师角色与教学策略
- 健康指南如何正确护理蚕豆病学会这些技巧保持身体健康
- 苏教版五年级上册数学简便计算300题及答案
- 澳洲牛肉行业分析
- 老客户的开发与技巧课件
- 计算机江苏对口单招文化综合理论试卷
- 成人学士学位英语单词(史上全面)
- 26个英文字母书写(手写体)Word版
- KAPPA-实施方法课件
- GB/T 13813-2023煤矿用金属材料摩擦火花安全性试验方法和判定规则
- GB/T 33084-2016大型合金结构钢锻件技术条件
- 航道整治课程设计
评论
0/150
提交评论