数学建模算法与应用:预测算法(6)预测习题练习

这篇具有很好参考价值的文章主要介绍了数学建模算法与应用:预测算法(6)预测习题练习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 一,水塔总水量以及流速预测问题

        1.1、题目

        1.2、建立模型

        1.3、用MATLAB计算,将“-”替换为-1。

        1.4、拟合法

         二、预测产值问题

        2.1、题目

        2.2、建立模型


 一,水塔总水量以及流速预测问题

        1.1、题目

        某地区用水管理机构需要对居民的用水速度(单位时间的用水量)和日总用水量进行估计。现有一居民区,其自来水是由一个圆柱形水塔提供,水塔高12.2m,塔的直径为17.4m。水塔是由水泵根据水塔中的水位自动加水。按照设计,当水塔中的水位降至最低水位,约8.2m时,水泵自动启动加水;当水泵升高到最高水位,约10.8m时,水泵停止工作。

        表1给出的是28个时刻的数据,但由于水泵正向水塔供水,有四个时刻无法测到水位(-)。

水塔中水位原始数据
时刻(t)/h 0 0.92 1.84 2.95 3.87 4.98 5.90
水位/m 9.68 9.48 9.31 9.13 8.98 8.81 8.69
时刻(t)/h 7.01 7.93 8.97 9.98 10.92 10.95 12.03
水位/m 8.52 8.39 8.22 - - 10.82 10.5
时刻(t)/h 12.95 13.88 14.98 15.9 16.83 17.93 19.04
水位/m 10.21 9.94 9.65 9.41 9.18 8.92 8.66
时刻(t)/h 19.96 20.84 22.01 22.96 23.88 24.99 25.91
水位/m 8.43 8.22 - - 10.59 10.35 10.18

        试建立数学模型,来估计居民的用水速度和日总用水量。

        1.2、建立模型

        解:(1)插值法。要估计在任意时刻(包括水泵灌水期间)t 居民的用水速度和日总用水量,分如下三步。

        ①水塔中水的体积的计算。计算水的流量,首先需要计算出水塔中水的体积,即:

             ,式中:D为水塔的直径;h为水塔中水位高度。

        ②水塔中水流速度的估计。居民的用水速度就是水塔中的水流速度,水流速度应该是水塔中水的体积对时间的导数,但由于没有每一时刻水体积的具体数学表达式,只能用差商近似导数。

        由于在两个时段,水泵向水塔供水,无法确定水位的高度,因此在计算水塔中水流速度时要分三段计算。第一时段为0~8.97h,第二时段为10.95~20.84h,第三时段为23.88~25.91h。

        上面计算仅给出流速的离散值,如果需要得到流速的连续型曲线,需要做插值处理,这里可以使用三次样条插值。

        ③日总用水量的计算。日用水量是对水流速度做积分,其积分区间是[0,24],可以采用数值积分的方法计算。

        1.3、用MATLAB计算,将“-”替换为-1。

计算的MATLAB程序如下: 

clc, clear, close all
a=load('bitter_tea_seeds.txt');
t0=a([1:2:end],:); t0=t0'; t0=t0(:); %提出时间数据,并展开成列向量
h0=a([2:2:end],:); h0=h0'; h0=h0(:); %提出高度数据,并展开成列向量
D=17.4;
V=pi/4*D^2*h0; %计算各时刻的体积
dv=gradient(V,t0); %计算各时刻的数值导数(导数近似值)
no1=find(h0==-1) %找出原始无效数据的地址
no2=[no1(1)-1:no1(2)+1,no1(3)-1:no1(4)+1] %找出导数数据的无效地址
t=t0; t(no2)=[]; %删除导数数据无效地址对应的时间
dv2=-dv; dv2(no2)=[]; %给出各时刻的流速
plot(t,dv2,'*'),title('流速图') %画出流速的散点图
pp=csape(t,dv2); %对流速进行插值
tt=0:0.1:t(end); %给出插值点
fdv=fnval(pp,tt); %计算各插值点的流速值
hold on, plot(tt,fdv) %画出插值曲线
I=trapz(tt(1:241),fdv(1:241)) %计算24小时内总流量的数值积分

结果展示 

某地区用水管理机构需要对居民,MATLAB数学建模算法与应用,算法,机器学习,线性代数,matlab


no1 =

      11       
      12       
      24       
      25       


no2 =

  1 至 5 列

      10             11             12             13             23       

  6 至 8 列

      24             25             26       


I =

   21221/17    

        1.4、拟合法

        解:(2)拟合法。要估计在任意时刻(包括水泵灌水期间)t 居民的用水速度和日总用水量,分如下三步。

        ①水塔中水的体积的计算。计算水的流量,首先需要计算出水塔中水的体积,即:

             ,式中:D为水塔的直径;h为水塔中水位高度。

        ②水塔中水流速度的估计。居民的用水速度就是水塔中的水流速度,水流速度应该是水塔中水的体积对时间的导数,但由于没有每一时刻水体积的具体数学表达式,只能用差商近似导数。

        由于在两个时段,水泵向水塔供水,无法确定水位的高度,因此在计算水塔中水流速度时要分三段计算。第一时段为0~8.97h,第二时段为10.95~20.84h,第三时段为23.88~25.91h。  

某地区用水管理机构需要对居民,MATLAB数学建模算法与应用,算法,机器学习,线性代数,matlab

 

        上面的计算仅给出流速的离散值,流速的散点图如图所示中的 “ * ” 点。如果需要得到流速的连续型曲线,可以拟合多项式曲线,原始数据总共有28个观测值,其中4个无效数据。

        图中总共有20个数据点,这里我们分三段进行三次多项式拟合,应用前6个数据点拟合三次多项式,即在时间区间[0,4.98]上拟合三次多项式;应用第6个数据点到第10个数据点,即在时间区间[4.98,12.03],拟合第二个三次多项式;应用第10个数据点到第20个数据点,共11个数据点,即在时间区间[12.03,25.91],拟合第三个三次多项式。

        拟合得到的分段三次多项式曲线如上图所示。

        ③日总用水量的计算。日用水量是对水流速度做积分,其积分区间是[0,24],可以采用数值积分的方法计算。

MATLAB程序如下:

clc, clear, close all
a=load('bitter_tea_seeds.txt');
t0=a([1:2:end],:); t0=t0'; t0=t0(:); %提出时间数据,并展开成列向量
h0=a([2:2:end],:); h0=h0'; h0=h0(:); %提出高度数据,并展开成列向量
D=17.4;
V=pi/4*D^2*h0; %计算各时刻的体积
dv=gradient(V,t0); %计算各时刻的数值导数(导数近似值)
no1=find(h0==-1) %找出原始无效数据的地址
no2=[no1(1)-1:no1(2)+1,no1(3)-1:no1(4)+1] %找出导数数据的无效地址
t=t0; t(no2)=[]; %删除导数数据无效地址对应的时间
dv2=-dv; dv2(no2)=[]; %给出各时刻的流速
hold on, plot(t,dv2,'*') %画出流速的散点图
a1=polyfit(t(1:6),dv2(1:6),3); %拟合第一个多项式的系数
a2=polyfit(t(6:10),dv2(6:10),3); %拟合第二个多项式的系数
a3=polyfit(t(10:20),dv2(10:20),3); %拟合第三个多项式的系数
dvf1=polyval(a1,[t(1):0.1:t(6)]); %计算第一个多项式的函数值
dvf2=polyval(a2,[t(6):0.1:t(10)]); %计算第二个多项式的函数值
dvf3=polyval(a3,[t(10):0.1:t(end)]); %计算第三个多项式的函数值
tt=t(1):0.1:t(end); dvf=[dvf1,dvf2,dvf3];
plot(tt,dvf) %画出拟合的三个分段多项式曲线
I=trapz(tt(1:241),dvf(1:241)) %计算24小时内总流量的数值积分

二、预测产值问题

        2.1、题目

         某大型企业1997---2000年的产值资料如表所示,试建立GM(1,1)预测模型,预测该企业2001---2005年的产值。

年份 1997 1998 1999 2000
产值/万元 27260 29547 32411 35388

        2.2、建立模型(笔记打印,有曲面)

        解:1.级比检验

        建立原始序列数据

某地区用水管理机构需要对居民,MATLAB数学建模算法与应用,算法,机器学习,线性代数,matlab

        2.GM(1,1)建模

某地区用水管理机构需要对居民,MATLAB数学建模算法与应用,算法,机器学习,线性代数,matlab

某地区用水管理机构需要对居民,MATLAB数学建模算法与应用,算法,机器学习,线性代数,matlab

         3.模型检验

        模型的各种检验指标值的计算结果见表2。经检验,该模型的精度较高,可进行预测和预报。

年份 原始值 预测值 残差 相对误差 级比偏差
1997 27260 27260 0 0
1998 29547 29553.4421 -6.4421 0.0002 -0.0095
1999 32411 32336.4602 74.5398 0.0023 0.0025
2000 35388 35381.5524 6.4476 0.0002 -0.0022

          4.预测值

        2001---2005年预测值见表2。

年份 2001 2002 2003 2004 2005
产值/万元 38713.3978 42358.9998 46347.9045 50712.4404 55487.9803

MATLAB程序设计代码,如下:

clc,clear, format long g
x0=[27260	29547	32411	35388]'; %注意这里为列向量
n=length(x0);
lamda=x0(1:n-1)./x0(2:n)  %计算级比
range=minmax(lamda')  %计算级比的范围
theta=[exp(-2/(n+1)),exp(2/(n+1))]  % 计算级比的容许区间
x1=cumsum(x0)  %累加运算
B=[-0.5*(x1(1:n-1)+x1(2:n)),ones(n-1,1)];
Y=x0(2:n);
u=B\Y  %拟合参数u(1)=a,u(2)=b
syms x(t)
x=dsolve(diff(x)+u(1)*x==u(2),x(0)==x0(1)); %求微分方程的符号解
xt=vpa(x,6) %以小数格式显示微分方程的解
yuce1=subs(x,t,[0:n+4]); %求已知数据和未来5期的预测值
yuce1=double(yuce1); %符号数转换成数值类型,否则无法作差分运算
yuce=[x0(1),diff(yuce1)]  %差分运算,还原数据
epsilon=x0'-yuce(1:n)    %计算已知数据预测的残差
delta=abs(epsilon./x0')  %计算相对误差
rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda'  %计算级比偏差值,u(1)=a
yhat=yuce(n+1:end)  %提取未来5期的预测值

 结果展示:文章来源地址https://www.toymoban.com/news/detail-647176.html


lamda =

         0.922597894879345
         0.911634938755361
         0.915875438001582


range =

         0.911634938755361         0.922597894879345


theta =

         0.670320046035639          1.49182469764127


x1 =

       27260
       56807
       89218
      124606


u =

       -0.0899951723868726
          25790.2838424515

 
xt =
 
313834.0*exp(0.0899952*t) - 286574.0
 

yuce =

  1 至 3 列

                     27260          29553.4420565748          32336.4601849797

  4 至 6 列

          35381.5523516033          38713.3978069354          42358.9998218412

  7 至 9 列

          46347.9045382397          50712.4404287318          55487.9803059021


epsilon =

  1 至 3 列

                         0         -6.44205657481507          74.5398150203109

  4 列

          6.44764839668642


delta =

  1 至 3 列

                         0      0.000218027433404917       0.00229983076795875

  4 列

      0.000182198722637233


rho =

      -0.00953940978346313       0.00245664647930999      -0.00218345852198909


yhat =

  1 至 3 列

          38713.3978069354          42358.9998218412          46347.9045382397

  4 至 5 列

          50712.4404287318          55487.9803059021

到了这里,关于数学建模算法与应用:预测算法(6)预测习题练习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数学建模--时间序列预测模型的七种经典算法的Python实现

    目录 1.开篇版权提示 2.时间序列介绍  3.项目数据处理 4.项目数据划分+可视化 5.时间预测序列经典算法1:朴素法 6.时间预测序列经典算法2: 简单平均法 7.时间预测序列经典算法3:移动平均法 8.时间预测序列经典算法4:简单指数法  9.时间预测序列经典算法5:Holt线性趋势法

    2024年02月10日
    浏览(44)
  • 数学建模算法与应用 数理统计

      从一批灯泡中随机地取5只作寿命试验,测得寿命(单位:h)为 [ 1050 , 1100 , 1120 , 1250 , 1280 ] [1050,1100,1120,1250,1280] [ 1 0 5 0 , 1 1 0 0 , 1 1 2 0 , 1 2 5 0 , 1 2 8 0 ] ,设灯泡寿命服从正态分布。求灯泡寿命平均值的置信水平为0.90的置信区间 算法设计 这个地方关于python的实现我还没

    2024年02月07日
    浏览(81)
  • Python 数学建模算法与应用(持续更新)

    目录 第一章  python使用入门 1.1 Python核心工具库 1. Numpy 2. SciPy 3. Matplotlib 4. IPython 5. SymPy 6. Pandas 1.2  Python基本数据类型 1. Numpy (1)强大的多维数组对象 (2)复杂的函数功能 (3)集成c/c++和FORTRAN代码的工具 (4)有用的线性代数、傅里叶变换和随机数功能等。 import numpy as

    2024年02月09日
    浏览(56)
  • 【数学建模系列】TOPSIS法的算法步骤及实战应用——MATLAB实现

    客观评价方法中的一种,亦称为理想解法,是一种有效的多指标评价方法。这种方法通过构造评价问题的正理想解和负理想解,即各指标的最优解和最劣解,通过计算每个方案到理想方案的相对贴近度,即靠近止理想解和远离负理想解的程度,来对方案进行排序,从而选出最优

    2024年02月08日
    浏览(47)
  • 数学建模|预测方法:灰色预测模型

    灰色系统理论是由华中理工大学邓聚龙教授于1982年提出并加以发展的。二十几年来,引起了不少国内外学者的关注,得到了长足的发展。目前,在我国已经成为社会、经济、科学技术在等诸多领域进行预测、决策、评估、规划控制、系统分析与建模的重要方法之一。特别是它

    2024年02月05日
    浏览(52)
  • 数学建模——时间序列预测(股价预测)

    完整数据及代码:数学建模+时间序列预测+LSTM+股票数据分析-机器学习文档类资源-CSDN下载          股票数据由代码、简称、时间、开盘价、收盘价、最高价、最低价、前收盘价、成交量、成交金额、PE、市净率、换手率组成,其中,代码、简称、时间不用于建模,PE、市

    2024年02月05日
    浏览(51)
  • 《数学建模与数学实验》第5版 统计分析 习题9.7

    参考教材:《数学建模与教学实验》第5版 提示:以下是本篇文章正文内容,来自参考教材课后习题。 温度 20 25 30 35 40 45 50 55 60 65 产量 13.2 15.1 16.4 17.1 17.9 18.7 19.6 21.2 22.5 24.3 求y关于x的线性回归方程,检验回归效果是否显著,并预测x=42℃时产量的估值及预测区间(置信度95

    2024年02月06日
    浏览(46)
  • 《数学建模与数学实验》第5版 插值与拟合 习题7.6

    参考教材:《数学建模与教学实验》第5版 提示:以下是本篇文章正文内容,来自参考教材课后习题。 下面是试验得到的数据: T 68 68 87 87 106 106 140 140 P 9.7981 13.324 9.0078 13.355 9.7918 14.277 9.6563 12.463 K 0.0848 0.0897 0.0762 0.0807 0.0696 0.0753 0.0611 0.0651 试求T=99和P=10.3下的K matlab求解: 线性

    2024年02月06日
    浏览(42)
  • 数学建模之灰色预测

    灰色预测(Grey Forecasting)是一种用于时间序列数据分析和预测的方法,通常用于处理具有 较少历史数据 的情况或者数据不够充分的情况。它是一种非常简单但有效的方法,基于灰色系统理论,用来估计未来的趋势。 以下是灰色预测的基本思想和步骤: 建立灰色模型 :首先

    2024年02月11日
    浏览(40)
  • 【数学建模】 灰色预测模型

    https://www.cnblogs.com/somedayLi/p/9542835.html https://blog.csdn.net/qq_39798423/article/details/89283000?ops_request_misc=request_id=biz_id=102utm_term=%E7%81%B0%E8%89%B2%E9%A2%84%E6%B5%8B%E6%A8%A1%E5%9E%8Butm_medium=distribute.pc_search_result.none-task-blog-2 all sobaiduweb~default-2-89283000.142 v88 control_2,239 v2 insert_chatgptspm=1018.2226.3001.418

    2024年02月12日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包