数学模型与数学建模实验五

合集下载

数学建模实验报告

数学建模实验报告

湖南城市学院数学与计算科学学院《数学建模》实验报告专业:学号:姓名:指导教师:成绩:年月日目录实验一 初等模型........................................................................ 错误!未定义书签。

实验二 优化模型........................................................................ 错误!未定义书签。

实验三 微分方程模型................................................................ 错误!未定义书签。

实验四 稳定性模型.................................................................... 错误!未定义书签。

实验五 差分方程模型................................................................ 错误!未定义书签。

实验六 离散模型........................................................................ 错误!未定义书签。

实验七 数据处理........................................................................ 错误!未定义书签。

实验八 回归分析模型................................................................ 错误!未定义书签。

实验一 初等模型实验目的:掌握数学建模的基本步骤,会用初等数学知识分析和解决实际问题。

实验内容:A 、B 两题选作一题,撰写实验报告,包括问题分析、模型假设、模型构建、模型求解和结果分析与解释五个步骤。

数学建模实践实验报告

数学建模实践实验报告

数学建模实践实验报告
数学建模实践实验报告
高一三班潘某某&胡某某&傅某某
一、标题
——使用数学建模的方法测量生活中的实际距离
二、实际情景
使用自制的简易量角仪测量学校中启智楼四楼饮水机处与图书馆楼楼顶之间的距离。

三、提出问题
要测量哪些数据?
如何建立模型来计算?
怎样建立模型才能使计算更简便?
四、建立模型
在计算中我们需要建立3个模型,分别是操场到图书馆楼楼顶,操场到启智楼四楼饮水机处,与启智楼四楼饮水机处到图书馆楼顶,相应地求出图书馆楼顶的高度,启智楼四楼饮水机处的高度,从而算得二者之间的平面距离。

五、求解模型
图书馆楼
AB:BE=tan16?,AB=BEtan16?
AB:BF=?,AB=?
可解得,AB=,AC=
启智楼四楼饮水机处
AB:BE=?,AB=?
AB:BF=?,AB=?
可解得,AB=,AC=
启智楼四楼饮水机处与图书馆楼楼顶
AB=CE=
DE=CD-CE=
DE:sin20?=AD:sin90?,解得AD=
六、反思与分析
由于器材精确度的限制与当天的风力,我们只能大致地测量了几个角度,有些可能误差较大,计算时也只精确到十分位,但仍有部分参考价值,在日常生活中可作近似值使用。

感谢观看!。

数学建模实验报告

数学建模实验报告

数学建模实验报告一、实验目的1、通过具体的题目实例,使学生理解数学建模的基本思想和方法,掌握数学建模分析和解决的基本过程。

2、培养学生主动探索、努力进取的的学风,增强学生的应用意识和创新能力,为今后从事科研工作打下初步的基础。

二、实验题目(一)题目一1、题目:电梯问题有r个人在一楼进入电梯,楼上有n层。

设每个乘客在任何一层楼出电梯的概率相同,试建立一个概率模型,求直到电梯中的乘客下完时,电梯需停次数的数学期望。

2、问题分析(1)由于每位乘客在任何一层楼出电梯的概率相同,且各种可能的情况众多且复杂,难于推导。

所以选择采用计算机模拟的方法,求得近似结果。

(2)通过增加试验次数,使近似解越来越接近真实情况。

3、模型建立建立一个n*r的二维随机矩阵,该矩阵每列元素中只有一个为1,其余都为0,这代表每个乘客在对应的楼层下电梯(因为每个乘客只会在某一层下,故没列只有一个1)。

而每行中1的个数代表在该楼层下的乘客的人数。

再建立一个有n个元素的一位数组,数组中只有0和1,其中1代表该层有人下,0代表该层没人下。

例如:给定n=8;r=6(楼8层,乘了6个人),则建立的二维随机矩阵及与之相关的应建立的一维数组为:m =0 0 1 0 0 01 0 0 0 0 00 0 0 0 0 00 1 0 0 0 00 0 0 0 0 00 0 0 0 0 10 0 0 0 1 00 0 0 1 0 0c = 1 1 0 1 0 1 1 14、解决方法(MATLAB程序代码):n=10;r=10;d=1000;a=0;for l=1:dm=full(sparse(randint(1,r,[1,n]),1:r,1,n,r));c=zeros(n,1);for i=1:nfor j=1:rif m(i,j)==1c(j)=1;break;endcontinue;endends=0;for x=1:nif c(x)==1s=s+1;endcontinue;enda=a+s;enda/d5、实验结果ans = 6.5150 那么,当楼高11层,乘坐10人时,电梯需停次数的数学期望为6.5150。

数学建模与实验(数学建模部分) 课程教案

数学建模与实验(数学建模部分) 课程教案
4. MATLAB 常用数学函数 MATLAB 提供了许多数学函数,函数的自变量规定为矩阵变量,运算法则是将函数逐 项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。 函数使用说明: (1) 三角函数以弧度为单位计算。 (2) abs 函数可以求实数的绝对值、复数的模、字符串的 ASCII 码值。 (3) 用于取整的函数有 fix、floor、ceil、round,要注意它们的区别。 (4) rem 与 mod 函数的区别。rem(x,y)和 mod(x,y)要求 x,y 必须为相同大小的实矩阵或为标 量。
第 5页
具体元素,也可修改变量中的具体元素。 clear 命令用于删除 MATLAB 工作空间中的变量。who 和 whos 这两个命令用于显示在
MATLAB 工作空间中已经驻留的变量名清单。who 命令只显示出驻留变量的名称,whos 在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息。
例 2-20: 求乘积 AB 和 BA。 A=[1 0 3;2 1 0]; B=[4 1;-1 1;2 0]; A*B, B*A
例 2-21: 求 (AB)T 和 BT×AT(T 为转置运算)。 A=[1 -1 2;2 0 1]; B=[2 -1 0;1 1 3;4 2 1]; (A*B)' B'*A'
教学重点及难点: 难点:循环结构程序设计
教学基本内容和过程
第二章 MATLAB 矩阵运算基础(2) 四.矩阵和数组的运算
矩阵运算规则是按照矩阵作为运算要素定义的。 数组运算是按照矩阵元素作为运算要素定义的。 标量运算是矩阵和数组的运算的特例。
1.矩阵和数组的算术运算 (1)矩阵和数组的加减运算
两个矩阵必须同型时才可以进行加减运算。如有一个是标量,则该标量与矩阵的每个 元素进行加减运算。

数学建模与数学实验课后习题答案

数学建模与数学实验课后习题答案

P594•学校共1002名学生,237人住在A 宿舍,333人住在B 宿舍,432 人住在C 宿舍。

学生要组织一个10人的委员会,使用Q 值法分配各 宿舍的委员数。

解:设P 表示人数,N 表示要分配的总席位数。

i 表示各个宿舍(分别取 A,B,C ), p i 表 示i 宿舍现有住宿人数, n i 表示i 宿舍分配到的委员席位。

首先,我们先按比例分配委员席位。

23710 A 宿舍为:n A ==2.365 1002 333"0 B 宿舍为:n B =3.323 1002 432X0 C 宿舍为:n C =4.3111002现已分完9人,剩1人用Q 值法分配。

经比较可得,最后一席位应分给 A 宿舍。

所以,总的席位分配应为: A 宿舍3个席位,B 宿舍3个席位,C 宿舍4个席位。

QA23722 3= 9361.5 Q B33323 4 = 9240.7 Q C4322 4 5=9331.2商人们怎样安全过河傻麴删舫紬削< I 11山名畝臥蹄峨颂禮训鋤嫌邂 韻靖甘讹岸讎鞍輯毗匍趾曲展 縣確牡GH 錚俩軸飙奸比臥鋪謎 smm 彌鯉械即第紘麵觎岸締熾 x^M 曲颁M 删牘HX …佛讪卜过樹蘇 卜允棘髒合 岡仇卅毘冋如;冋冋1卯;砰=口 於广歎煙船上觸人敦% V O J U;xMmm朗“…他1曲策D 咿川| thPl,2卜允隸策集合 刼為和啊母紳轉 多步贱 就匚叫=1入“山使曲并按 腿翻律由汩3』和騒側),模型求解 -穷举法〜编程上机 ■图解法S={(x ?jOI x=o, j-0,1,2,3;X =3? J =0,1,2,3; X =»*=1,2}J规格化方法,易于推广考虑4名商人各带一随从的情况状态$=(xy¥)~ 16个格点 允许状态〜U )个。

点 , 允许决策〜移动1或2格; k 奇)左下移;&偶,右上移. 右,…,必I 给出安全渡河方案评注和思考[廿rfn片,rfl12 3xmm賤縣臓由上题可求:4个商人,4个随从安全过河的方案。

《数学建模与数学实验》上机实验报告

《数学建模与数学实验》上机实验报告

成都信息工程大学《数学建模与数学实验》上机实验报告专业信息与计算科学班级姓名学号实验日期成绩等级教师评阅日期[问题描述]下表给出了某一海域以码为单位的直角坐标Oxy 上一点(x,y)(水面一点)以英尺为单位的水深z,水深数据是在低潮时测得的,船的吃水深为5英尺,问在矩形区域(75,200)x (-50,150)里那些地方船要避免进入。

[模型]设水面一点的坐标为(x,y,z),用基点和插值函数在矩形区域(75,200)*(-50,150)内做二维插值、三次插值,然后在作出等高线图。

[求解方法]使用matlab求解:M文件:water.mx=[129 140 103.5 88 185.5 195 105.5 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.584 -33.5];z=[-4 -8 -6 -8 -6 -8 -8 -9 -9 -8 -8 -9 -4 -9];cx = 75:0.5:200;cy = -50:0.5:150;[cx,cy]=meshgrid(cx,cy);作出曲面图:代码如下:>> water>> cz=griddata(x,y,z,cx,cy,'cubic');>> meshz(cx,cy,cz)>> xlabel('X'),ylabel('Y'),zlabel('Z')>>作出等高线图:代码如下:>> water>> cz=griddata(x,y,z,cx,cy,'cubic');>> figure(2)>> contour(cx,cy,cz,[-5,-5],'r')>> hold on>> plot(x,y,'*')>> xlabel('X'),ylabel('Y')[结果]插值结果等值图:[结果分析及结论]根据等值图可看出:红色区域为危险区域,所以船只要避免进入。

数学模型实验报告5

数学模型实验报告5
(4)考察当X0=100,a1=0.5,a2=0.25,c=10,b=0.18~0.20这种植物能一直繁殖的条件
模型建立:设第k年的植物数量为Xk
bc
X(1)=px(0),X(0)=X0
P=5b,q=1.25*b^2
clc,clearall
symspqb
p=5*b;
q=1.25*b^2;
V=solve('x^2-p*x-q=0','x')
(5)分析按月还款与按年还款哪种对贷款者更有利?
模型假设:
1.以商业贷款10000元为例贷款采取逐月归还方式偿还
2.不得提前或延期还款,即在贷款期限最后一个月还清
3.月利率采取将对应年利率平均方式计算
设n年期贷款年利率为R,月利率为r,共贷款 元,贷款后第k个月时欠款余额为 元,月还款m元,年还款 元
模atlab中运行:
X=maple('rsolve({A(k)=A(k-1)*(1+r)-m,A(0)=A0},A(k))')
模型求解:
当S=120m2,P=5200元/ m2,R=5.58%时,即 =5200 0.7=436800元r=0.465%,房子总价格624000元,首付款额187200元,月付还款额为37509.5元
V1:p/2+(p^2+4*q)^(1/2)/2
V2:p/2-(p^2+4*q)^(1/2)/2
c1:(x0*(p^2+4*q)^(1/2)+p*x0)/(2*(p^2+4*q)^(1/2))
c2:(x0*(p^2+4*q)^(1/2)-p*x0)/(2*(p^2+4*q)^(1/2))

《数学建模与数学实验》实验报告实验五:线性规划模型实验

《数学建模与数学实验》实验报告实验五:线性规划模型实验

《数学建模与数学实验》实验报告实验五:线性规划模型实验专业、班级数学09B 学号094080144 姓名徐波课程编号实验类型验证性学时 2实验(上机)地点同析楼4栋404 完成时间2012-6-10任课教师李锋评分一、实验目的及要求掌握数学软件lingo的基本用法和一些常用的规则,能用该软件进行基本线性规划运算,并能进行的编程,掌握线性规划模型的。

二、借助数学软件,研究、解答以下问题某电力公司经营两座发电站,发电站分别位于两个水库上,已知发电站A可以将A的一万m^3 的水转换成400千度电能,发电站B能将水库B的一万立方米转化成200千度电能。

发电站A,B每个月最大发电能力分别是60000千度,35000千度,每个月最多有50000千度能够以200元/千度的价格出售,多余的电能只能够以140元/千度的价格出售,水库A,B的其他有关数据如下:水库A 书库B水库最大蓄水量2000 1500水源本月流入水量200 40水源下月流入水量130 15水库最小蓄水量1200 800水库目前蓄水量1900 850设计该电力公司本月和下月的生产计划。

本月的情况:解:设本月高价卖出的水量是u,低价卖出的数量是v,A,B书库用来发电的水量好似xa,xb,从水库里放走的水量是ya,yb,水库月末剩余的水量分别是za,zb;建立模型如下:目标函数:、Max=200u+140v约束条件:每个月发电量与卖电量相等:400*x1+200*x2=u+v;水库发电后剩余水量及消耗水量与发电前的水量守恒:X1+y1+z1=2100;X2+y2+z2=890+x1+y1;其他约束条件:400*x1a<=60000;200*x1a<=35000;1200<=z1a<=2000;800<=z2a<=1500;u1<=50000;现在进行两个月同时计算:设本月和下月高价卖出的水量是u1,u2,低价卖出的水量是v1,v2,A,B水库用来发电的水量是xa1,xa2,xb1,xb2,从水库直接放走的水量分别是ya1,ya2,yb1,yb2,水库月末剩余水量分别是za1,za2,zb1,zb2.建立模型如下:目标函数:Max=200*(u1+u2)+140*(v1+v2)约束条件:每个月发电量与卖电量相等:400*xa1+200*xb1=u1+v1;400*xa2+200*xb2=u2+v2;水库发电后剩余水量及消耗水量与发电前的水量守恒:xa1+ya1+za1=2100;xb1+yb1+zb1=890+xa1+ya1;xb2+yb2+zb2=zb2+15+xa2+ya2;xa2+ya2+za2=za1+130;其他约束条件:400*xa1<=60000;400*xa2<=60000;200*xb1<=35000;200*xb2<=35000;1200<=za1<=2000;1200<=za2<=2000;800<=zb1<=1500;800<=zb2<=1500;u1<=50000;u2<=50000;编程实现如下:model:max=200*u+140*v;400*x1+200*x2=u+v;X1+y1+z1=2100;X2+y2+z2=890+x1+y1;400*x1<=60000;200*x2<=35000;Z1>=1200;Z1<=2000;Z2>=800;Z2<=1500;u<=50000;end解得:Global optimal solution found.Objective value: 0.1630000E+08Total solver iterations: 5Variable Value Reduced Cost U 50000.00 0.000000V 45000.00 0.000000X1 150.0000 0.000000 X2 175.0000 0.000000 Y1 0.000000 0.000000 Z1 1950.000 0.000000 Y2 0.000000 0.000000 Z2 865.0000 0.000000Row Slack or Surplus Dual Price1 0.1630000E+08 1.0000002 0.000000 -140.00003 0.000000 0.0000004 0.000000 0.0000005 0.000000 140.00006 0.000000 140.00007 750.0000 0.0000008 50.00000 0.0000009 65.00000 0.00000010 635.0000 0.00000011 0.000000 60.000000编程实现如下:model:max=200*(u1+u2)+140*(v1+v2);400*x1a+200*x2a-u1+v1=0;400*x1b+200*x2b=u2+v2;X1a+y1a+z1a=2100;X2b+y2b+z2b=zb2+15+x1b+y1b;X2a+y2a+z2a=890+x1a+y1a;X1a+y1b+z1b=z1a+130;400*x1a<=60000;400*x1b<=60000;200*x2a<=35000;200*x2b<=35000;Z1a<=2000;Z1a>=1200;Z1b<=2000;Z1a>=1200;Z2a<=1500;Z2a>=800;Z2b>=800;Z2b<=1500;u1<=50000;u2<=50000;end解得:Global optimal solution found.Objective value: 0.3330000E+08Total solver iterations: 0Variable Value Reduced Cost U1 50000.00 0.000000 U2 50000.00 0.000000 V1 50000.00 0.000000 V2 45000.00 0.000000 X1A 0.000000 56000.00 X2A 0.000000 28000.00 X1B 150.0000 0.000000 X2B 175.0000 0.000000 Y1A 900.0000 0.000000 Z1A 1200.000 0.000000 Y2B 0.000000 0.000000 Z2B 800.0000 0.000000 ZB2 810.0000 0.000000 Y1B 0.000000 0.000000 Y2A 990.0000 0.000000 Z2A 800.0000 0.000000 Z1B 1330.000 0.000000Row Slack or Surplus Dual Price1 0.3330000E+08 1.0000002 0.000000 140.00003 0.000000 -140.00004 0.000000 0.0000005 0.000000 0.0000006 0.000000 0.0000007 0.000000 0.0000008 60000.00 0.0000009 0.000000 140.000010 35000.00 0.00000011 0.000000 140.000012 800.0000 0.00000013 0.000000 0.00000014 670.0000 0.00000015 0.000000 0.00000016 700.0000 0.00000017 0.000000 0.00000018 0.000000 0.00000019 700.0000 0.00000020 0.000000 340.000021 0.000000 60.00000由上可知,最大值是0.3260000E+08,每月A,B厂发电用水量是150,175,150,175三、本次实验的难点分析实验过程中遇到了一些问题:对掌握lingo的基本用法有所欠缺,本实验中存在偏差。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告五学院名称:理学院 专业年级: 姓 名: 学 号:课 程:数学模型与数学建模 报告日期:2015年12月8日一、实验题目例2.2.1 水库库容量与高程设一水库将河道分为上、下游两个河段,降雨的开始时刻为8时,这是水位的高程为168m ,水库容量为38109.21m ⨯,预测上游的流量()()s m t Q /3,d 取值如表2.2.1所示。

表2.2.1 上有流量()t Q 的预测已知水库中水的容量()3810mV 与水位高程H (m )的数值关系为表2.2.2表2.2.2 水库库容量与水位高程的关系如果当日从8时开始,水一直保持s m /10003的泄流量,根据所给数据,预报从降雨时刻到56h 以内每小时整点时刻水库中水的库容量与水位高程。

例2.2.2 地下含沙量某地区有优质细沙埋在地下,某公司拟在此处采沙,已得到该地区钻探资料图的一角如下表,在每个格点上有三个数字列,都是相对于选定基点的高度(m ),最上面的数字是覆盖表面的标高,中间的数字是沙层顶部的标高最下面的数字是沙层底部的标高,每个格子都是正方形,边长50m 。

画星号处,即沼泽表层地带,没有钻探数据。

试估计整个矩形区域内的含沙量。

二、实验目的插值模型是数据挖掘的另一类模型,插值(Interpolation )的目的是根据能够获得的观测数据推测缺损的数据,此时观测数据(){}ni i i y x 1,=被视为精确的基准数据,寻找一个至少满足条件的函数()x y y =,使得()n i x y y i i ,,2,1,Λ==,在本节我们强调的是插值模型的应用,而不是插值方法的构造。

三、问题陈述2.2.1 一维插值例2.2.1 水库库容量与高程 2.2.2 二维插值例2.2.2 地下含沙量 2.2.3 泛克里金插值四、模型及求解结果2.2.1 一维插值一元函数差值公式为()()∑==ni i i x y x y 1λ其中()x i λ是满足条件()iji x δ=λ的函数,依据插值的公式,如最近邻差值,线性插值、分段三次Hermite插值等,分别取阶梯函数、线性函数、三次多项式函数等,相应的数学表达式可以查阅本科生数值计算教材。

下面先通过简单的Matlab一维插值令interpret1了解相应的计算结果。

例:2.2.1 水库库容量与高程为了给出每小时的报告,需要补充每小时整点时刻上有流量的数据,以及相应不同库容量的水位高程。

假设(a)已知数据准确(b)相邻两个时刻之间的流量变化是现行的(c)相邻两个水位高程之间的高程对水的库容量的变化也是线性的首先,利用Matlab线性插值令,确定每小时的上游流量q(t).由程序在Matlab中运行的结果为:q =1.0e+004 *Columns 1 through 90.3600 0.4050 0.4500 0.4950 0.5400 0.6000 0.6600 0.7200 0.7800Columns 10 through 180.7975 0.8150 0.8325 0.8500 0.8675 0.8850 0.9025 0.9200 0.9350Columns 19 through 270.9500 0.9650 0.9800 0.9950 1.0100 0.9629 0.9157 0.86860.8214Columns 28 through 360.7743 0.7271 0.6800 0.6329 0.5857 0.5386 0.4914 0.4443 0.3971Columns 37 through 450.3500 0.3000 0.2500 0.2410 0.2320 0.2230 0.2140 0.2050 0.1960Columns 46 through 490.1870 0.1780 0.1690 0.1600然后确定每个时刻t 的水库容量()t v ,因为,水库容量=原库存量+流入量-泄流量()s m /1038,即:()()()81036001036009.21588-⨯-⨯+=--⎰t ds s q t v t这里我们遇到数值积分,被积函数()s q 没有解析表达式,只有一个数列表示,iq 表示在i整点时刻的流量,利用Matlab 逐点积分指令()y x cumptrapz ,,可以得到水库容量()t v v =在每一刻[]56,8∈t 的值。

最后确定每时刻t 水库的水位高程h (t ),因为最大水库容量已经远远超出了已知数据范围,需要利用外插方法补充数据,确定水库高程对水库容量的依赖关系h=H (v )。

最后利用函数复合得到水位高程()())(t v H t h = 确定每小时的上游流量q (t )利用函数复合得到水位高程()())(t vH t h=2.2.2 二维插值二维插值大致可以分为两种,规则点插值和散乱点插值,前者即利用在方形网格点),(iiyx给定的数据mj n i z ij ,,2,1,,,2,1,ΛΛ==,在加密网格点上补充相应函数值,插值公式为∑∑===ni mj ij ij y x l z y x z 11),(),(其中ijl 是满足jsik s k ij y x l δδ=),(的二元函数,如双线性函数、双三次多项式函数、样条函数等,一句不同的插值方式选取,相应的表达式可以从本科生数值计算教材中查阅。

这里先通过Matlab 二维插值指令interp2了解相应的计算结果散乱点插值是要利用在不规则排列的观测点),(j j y x 上的数据nj z j ,,2,1,Λ=确定其他点上的函数值,插值公式形式为ijj j i nj j j y x l y x l z y x z δ==∑=),(,),(),(1常用到的插值方法,如距离加权反比插值,Kriging 插值,需要查阅专业书籍,下面先通过Matlab 二维插值指令griddata 了解相应的计算结果例2.2.2 地下含沙量假设地下沙层连续变化,于是可以利用积分运算矩形区域内的含沙量。

首先通过插值补充缺失的数据,采用一维样条插值。

为了提高梯形积分精度,利用二维样条插值加密数据,得到边长为0.5m的长方形网格上的数据。

最后,将二重积分化为累次积分,利用梯形公式得到积分的近似值。

v =6.4290e+005如果在一维插值补齐缺失数据中用线性插值代替上面的样条插值,将得到沙层体积6345253m ,和以上结果有些差别。

对于加密二维网格,应该加到多密?注意,从理论上讲,网格越密计算精度越高,但是从计算角度看,网格越密计算误差累计也越大,所以需要通过逐步加密网格,确定精度最优的积分值。

如果直接利用二维插值,例如采用Matlab 的散乱点插值指令,仍用二次梯形公式,会得到相近的结果。

v =6.3572e+0052.2.3 泛克里金插值考虑到沙子是一种特殊的地址,下面试用地质学常用的泛克里金插值方法计算。

先介绍克里金插值方法,这本身就是运用统计学方法建模的一个有趣的例子。

1951年南非地质学家Krige 讲()221,R x x x ∈=处矿藏的贮藏量()x f 看成是随机函数()x F 的一个实现,提出了依据观测值()n j y x j j ...,3,2,1,,=,寻找基函数(){}n j x j ...,2,1,=λ,以获得()x F 的具有形式 ()()()∑=jjjx F x x F λ*的最小方差无偏估计,取()x F *的条件期望()()()()n j f x F x F E x fj j ....,2.1,|**===给出未知点x 估值的插值方法,即考虑形如()()()()()x R x P x R x M x F K+=+=∑=1αααφ的随机函数,其中()x M 在地质学中称为飘移,在一些随机分析的场合也成为趋势,αP 是均值为ααp P E =)(的未知的随机变量,}{αφ是多项式基函数,例如这里取1)(1=x φ,12)(x x =φ,23)(x x =φ,214)(x x =φ,225)(x x =φ,216)(x x x =φ,()x R 是满足0))((=x R E ,)())()((h h x R x R E σ=+的随机函数)(h σ是给定的且满足当;0)(→∞→h h σ时,有当1)(0→→h h σ时,有的核函数。

这里按通常取法,取高斯核函数()2ex p )(h h -=σ根据无偏估计要求,()()()()∑===1*j jjx EF x x EF x EF λ即:()()()∑∑∑====K nj JjK X P x x P 111ααααααφλφ 从而得到无偏条件,对任意的α有:()()()∑=jj j x x x ααφλφ在这个约束条件下极小化方差 ()()()∑-jjjx F x x F E 2)(λ=()()()()()()∑∑∑∑---ααααααφλφjjjjjx P x F x x x P x F E 2))()((=()()()∑-jjjx R x x R E 2)(λ=()()()()()()()()()∑∑∑+-jj j jkk j k j x R E x R x R E x R x R E x 22λλλ =:)0()()(2)()(σ+Λ-ΛΛx D x x A x TT其中n n k j x x A ⨯-=))((σ,1))(()(⨯-=n j x x x D σ,1))(()(⨯=Λn j x x λ,1)0(=σ。

引入拉格朗日乘子()K γγγ...,21Γ,由拉格朗日函数()()()()()()∑∑==⎪⎪⎭⎫⎝⎛--+Λ-ΛΛ=ΓΛKn j j j TTx x x x D x x A x L 11)()(212ααααφλφγ:, 的极小值点必为其驻点的结论,得到关系式 ()()()⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛ΓΛ⎪⎪⎭⎫⎝⎛ΦΦx x D x AT φ0 其中n n k j x x A ⨯-=))((σ,,))(()(K n j x x ⨯=Φαφ1))(()(⨯=Λn j x x λ,,)(1⨯=ΓK αγ1))(()(⨯-=n j x x x D σ,,))(()(1⨯=K x x αφφ于是,在未知点x 上的随机函数值()x F 可以用它的最小方差无偏估计的条件期望()()()()n j f x F x F E x f j j ....,2.1,|**===近似,从而得到泛克里金插值函数: ()()()∑⎪⎪⎭⎫⎝⎛ΓΛ=Λ==j T T T j j f x f x f x x f 0)()(*λ =()⎪⎪⎭⎫⎝⎛⎪⎪⎭⎫ ⎝⎛ΦΦ-00~)()(1f A x x D TTT φ =()g x x D TT )()(φ 其中()1,1)0()0(~,⨯⨯⨯===K K K n jO O f f 练习:证明上面构造的泛克里金函数是连续的,且通过已知点,即插值函数满足: n j f x f j j ,...,2,1,)(==*用泛克里金插值得到的边长为0.5m 的加密网格上的沙层厚度,通过二次梯形公式,得到沙层体积近似值为6373203m五、程序代码2.2.1 一维插值>> x=0:4:20;>> y=[37 51 45 74 83 88]; >> xx=0:1:20;>> y1=interp1(x,y,xx,'nearest'); %最近邻插值,间断函数 >> y2=interp1(x,y,xx); %线性插值,连续函数>> y3=interp1(x,y,xx,'cubic'); %分段三次Hermite 插值,一阶连续函数 >> y4=interp1(x,y,xx,'splinet'); %样条插值,二阶倒数连续的函数 >> subplot(2,2,1),plot(x,y,'kd',xx,y1),title('nearest') >> subplot(2,2,2),plot(x,y,'kd',xx,y2),title('linear') >> subplot(2,2,3),plot(x,y,'kd',xx,y3),title('cubic') >> subplot(2,2,4),plot(x,y,'kd',xx,y4),title('spline')例2.2.1 水库库容量与高程利用Matlab线性插值令,确定每小时的上游流量q(t)>> T=[8,12,16,24,30,44,46,56];>> Q=[3600,5400,7800,9200,10100,3500,2500,1600];>> t=8:56;>> q=interp1(T,Q,t,'linear')%得到每小时上游流量>> plot(T,Q,'kd',t,q),title('time-flow')水库容量()t vv=在每一刻[]56,8∈t的值>> v=21.9+36*10^(-6)*cumtrapz(t,q-10^3*ones(size(t))); %每小时水库容量>> vmax=max(v); %得到最大的水库容量为30.7524(10^8立方米)利用函数复合得到水位高程()())(t vH t h=>> V=[21.9 23.93 24.06 24.12 24.33 24.47 24.3 24.75]; >> H=[168 168.75 168.8 168.85 168.9 168.95 169 169.05]; >> h=interp1(V,H,v,'linear','extrap'); %得到每小时水位高程>> hmax=max(h);%最大水位高程171.0508米>> plot(V,H,'kd',v,h),title('volume-atitude')2.2.2 二维插值二维插值指令>> x=0:4:16;y=0:4:16;>> z=[620 730 800 850 870;760 880 970 720 1050880 1080 630 1250 1280;980 1180 1320 1450 14201060 1230 1390 1500 1500];>> [X,Y]=meshgrid(0:16,0:16);>> Z1=interp2(x,y,z,X,Y,'nearest');Z2=interp2(x,y,z,X,Y); >> Z3=interp2(x,y,z,X,Y,'cubic');Z4=interp2(x,y,z,X,Y,'spline'); >> subplot(2,2,1),surfc(X,Y,Z1),title('nearest')>> subplot(2,2,2),surfc(X,Y,Z2),title('linear')>> subplot(2,2,3),surfc(X,Y,Z3),title('cubic')>> subplot(2,2,4),surfc(X,Y,Z4),title('spline')散乱点插值>> x=[1 2 3 4 5];>> y=[4 1 3 2 5];>> z=[4 1 6 2 5];>> [X,Y]=meshgrid(0:0.2:5);>> Z1=griddata(x,y,z,X,Y,'nearest');>> Z2=griddata(x,y,z,X,Y);>> Z3=griddata(x,y,z,X,Y,'cubic');>> Z4=griddata(x,y,z,X,Y,'v4');>> subplot(2,2,1),surfc(X,Y,Z1),title('nearest')>> subplot(2,2,2),surfc(X,Y,Z2),title('linear')>> subplot(2,2,3),surfc(X,Y,Z3),title('cubic')>> subplot(2,2,4),surfc(X,Y,Z4),title('v4')例2.2.2 地下含沙量通过一维插值补充缺失的数据>> D=[23.0,23.1,23.2,23.4,23.5,24.0,24.0,24.0;23.1,23.3,23.4,23.4,23.5,24.2,24.1,24.1];>> E=[19.9,20.0,20.0,19.8,19.9,20.0,19.8,19.6;19.8,19.7,19.4,20.0,20.1,20.3,20.3,20.5];>> F=[6.0,3.2,1.6,1.0,1.1,1.0,0.8,0.9;2.2,1.4,0.6,0.5,0.3,-0.2,-0.1,0.0];>> P=[1,6,7,8];K=1:8;>> A=[22.4,22.5,23.0,23.2];>> A1=interp1(P,A,K,'spline');a=[A1;D]>> B=[20.0,18.4,17.8,18.0];>> B1=interp1(P,B,K,'spline');b=[B1;E]>> C=[5.8,0.5,0.4,0.4];>> C1=interp1(P,C,K,'spline');c=[C1;F]二维样条插值加密数据,得到边长为0.5m的长方形网格上的数据>> [M,N]=meshgrid(1:8,0:2);>> delta=0.01;[X,Y]=meshgrid(1:delta:8,0:delta:2);>> a1=interp2(M,N,a,X,Y,'spline');>> b1=interp2(M,N,b,X,Y,'spline');>> c1=interp2(M,N,c,X,Y,'spline');>> mesh(X,Y,a1),hold on,>> mesh(X,Y,b1),hold on,mesh(X,Y,c1)最后,将二重积分化为累次积分,利用梯形公式得到积分的近似值。

相关文档
最新文档