数学建模数据之简单处理技巧(Mathematica)总结

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

数学建模数据之简单处理技巧

人们在生产实践与科学研究中经常会得到一系列的数据,然后通过这些数据得到某种内在规律,这就叫数据处理(Adjustment of Data )。科学家开发了许多方法来处理这个问题,最初由Gauss 发展起来,用于彗星轨道(Orbits of Comets )的计算以及三角测量术中。主要方法有:最小二乘平方法、平均误差及误差延伸法则、直接测量的处理、以及一个函数用较简单函数表示的问题。数据拟合(Fit )就是其中的一种。

假设已经得到数据列data1 = { y1, y2, y3,…,yn}, 现在需要寻找此数据列所满足的规律。Mathematica 系统提供了拟合命令Fit ,使用的格式如下,例如:

f[x] = Fit[ data1, { 1, x, x 2, x 3 }, x ] 表示用最小误差平方法去拟合数据data1,而且指明用32,,,1x x x 构成的函数基,线性表出拟合函数f[x]。此处,得到的拟合函数f[x] 按x = j, f[ j ] = yj (data1中第j 个数据)处理数据;

一般地,假设有2维数据 data2 = { { x 1, y 1 }, { x 2, y 2 }, … }, 则命令

Fit[ data2, { 1, f 1[x], f 2[x], … }, x ]

表示用最小误差平方法去拟合数据data2,而且指明用一元函数列{ 1, f 1[x], f 2[x], …}去线性表出拟合函数F[x]。

假设有3维数据 data3 = { { x 1, y 1, z 1 }, { x 2, y 2, z 2 }, … } }, 则命令

f[x, y] = Fit[ data3, {1,f 1[x,y],f 2[x,y],…},{x,y} ]

表示用最小误差平方法去拟合数据data3,而且指明用2元函数列{ 1, f 1[x, y], f 2[x, y], …}去线性表出拟合函数f[x, y]。

数据拟合典型例子

d = { { 1, 1}, { 2, -2 }, { 3, 3 }, { 4, -4 }, { 5, 5 }, { 6, 6 }}; g1 = ListPlot[ d, PlotStyl

e -> { Hue[ 0 ], PointSize[ .03 ] } ] f1 = Fit[ d, { 1, x, x^2, x^3, x^4 }, x ]; Print[“f1 = ”, f1]

g2 = Plot[ f1, { x, 1, 10 }, PlotStyle -> Hue[ .6 ] ] f2 = Fit[ d, { 1, x, x^2, x^3, x^4, x^5}, x ]; Print[“f2 = ”, f2]

g3 = Plot[ f2, { x, 1, 10 }, PlotStyle ->{ GrayLevel[ 0 ], Dashing[ { .03 } ] } ] Show[ g1, g2, g3 ] 得到结果:

图1-1-52

f1=-3.33333+8.12169x -5.30556x 2+1.2037x 3-0.0833333x 4

图1-1-53

f2=180.-380.x+281.5x2-94.1667x3+14.5x4-0.833333x5

图1-1-54

图1-1-55

例1数据拟合示例。

要从(0,0)到(2000,2000)修一条公路,问:如何选址?当必须经过某一指定点时,又如何选址?

解:假设测点选择合理,即山坡表面是充分光滑的曲面,测点之间无山沟与山谷。

第一步,将数据送到data,画图模拟:Mathematica命令如下:

data = { 省略 };

ListPlot3D[data,ViewPoint->{*,*,*},AxesLabel->{x,y,z}]。

例如,可以选视点ViewPoint->{-1,-1,2}或{-1,1,2}画图做参考。

第二步,画三角剖分面构成的拟合曲面。打开子程序包

<

TriangularSurfacePlot[data]

表示为data画一个由三角剖分面构成的拟合曲面(图像略)。

第三步,拟合。

ff = Fit[ data, { 1, x, x^2, x^3, x^4, y,y^2, y^3, y^4, x*y, x*y^2, x*y^3, x*y^4,

x^2*y, x^2*y^2,x^2*y^3, x^2*y^4, x^3*y, x^3*y^2, x^3*y^3, x^3*y^4,

x^4*y, x^4*y^2, x^4*y^3, x^4*y^4},{ x, y }]

程序执行后,得到一个拟合函数ff。再画ff 的图,效果更好。

Plot3D[ff,{x,0,2000},{y,0,2000}]

(图像略)。

例2估计水箱流量(美国大学生MCM1991-A题)

某些州的用水管理机构需估计公众用水速度(单位:加仑/小时)和每日总用水量的数据。许多地方没有测量流入或流出市政水箱流量的设备,而只能测量水箱中的水位(误差不超过0.5%)。当水箱水位某最低水位L时,水泵抽水灌入水箱,直到水位达到最高水位H为止。但是,也无法测量水泵的流量。因此,在水泵开动时,无法立即将水箱中的水位和用水量联系起来。这种情形一天发生一次或两次,每次约为2小时。

估计所有时刻,包括水泵抽水期间流出水箱的流量f(t),并估计一天总用水量。下表给出某天某小镇的真实数据:

表中给出距开始测量的时间及即时水位。水箱是高40英尺、直径57英尺的正圆柱。通常水位低于L=27英尺时,水泵开始抽水,高于H=35.5英尺时,水泵停止工作。

参考解答:

相关文档
最新文档