python实现数学模型(插值、拟合和微分方程)


Posted in Python onNovember 13, 2020

问题1 车辆数量估计

题目描述

交通管理部门为了掌握一座桥梁的通行情况,在桥梁的一端每隔一段不等的时间,连续记录1min内通过桥梁的车辆数量,连续观测一天24h的通过车辆,车辆数据如下表所示。试建立模型分析估计这一天中总共有多少车辆通过这座桥梁。

python实现数学模型(插值、拟合和微分方程)

python 实现(关键程序)

def get_line(xn, yn):
    def line(x):
        index = -1
        # 找出x所在的区间
        for i in range(1, len(xn)):
            if x <= xn[i]:
                index = i - 1
                break
            else:
                i += 1
        if index == -1:
            return -100
        # 插值
        result = (x - xn[index + 1]) * yn[index] / float((xn[index] - xn[index + 1])) + (x - xn[index]) * yn[
            index + 1] / float((xn[index + 1] - xn[index]))
        return result
    return line
time = [0, 2, 4, 5, 6, 7, 8,
    9, 10.5, 11.5, 12.5, 14, 16, 17,
    18, 19, 20, 21, 22, 23, 24]
num = [2, 2, 0, 2, 5, 8, 25,
    12, 5, 10, 12, 7, 9, 28,
    22, 10, 9, 11, 8, 9, 3]
# 分段线性插值函数
lin = get_line(time, num)
# time_n = np.arange(0, 24, 1/60)
time_n = np.linspace(0, 24, 24*60+1)
num_n = [lin(i) for i in time_n]
sum_num = sum(num_n)
print("估计一天通过的车辆:%d" % sum_num)

结果

python实现数学模型(插值、拟合和微分方程)python实现数学模型(插值、拟合和微分方程)

问题2 旧车平均价格

题目描述

某年美国旧车价格的调查资料如下表所示,其中 x i x_i xi​表示轿车的使用年数, y i y_i yi​表示相应的平均价格。试分析用什么形式的曲线拟合表中所给的数据,并预测使用4.5年后轿车的平均价格大致为多少?

python实现数学模型(插值、拟合和微分方程)

Python 实现(关键程序)

from scipy.optimize import curve_fit
def func(x, a, b, c): # 指数函数拟合
  return a * (b**(x-1)) + c

year = np.arange(1, 11, 1)
price = [2615, 1943, 1494, 1087, 765, 538, 484, 290, 226, 204]

popt, pcov = curve_fit(func, year, price)
a = popt[0]
b = popt[1]
c = popt[2]
price_fit = func(year, a, b, c)

结果

python实现数学模型(插值、拟合和微分方程)
python实现数学模型(插值、拟合和微分方程)

问题3 微分方程组求解

题目描述

求下列微分方程组(竖直加热板的自然对流)的数值解

python实现数学模型(插值、拟合和微分方程)

Python实现(关键程序)

from scipy.integrate import solve_ivp
def natural_convection(eta, y): # 将含有两个未知函数的高阶微分方程降阶,得到由2+3个一阶微分方程组成的方程组
  T1 = y[0]
  T2 = y[1]
  f1 = y[2]
  f2 = y[3]
  f3 = y[4]
  return T2, -2.1*f1*T2, f2, f3, -3*f1*f3 + 2*(f2**2)-T1

eta = np.linspace(0, 10, 1000)
eta_span = [0, 10]
init = np.array([ 1, -0.5, 0, 0, 0.68])

curve = solve_ivp(natural_convection, eta_span, init, t_eval=eta)

结果

python实现数学模型(插值、拟合和微分方程)

问题4 野兔数量 题目描述

某地区野兔的数量连续9年的统计数量(单位:十万)如下表所示.预测t = 9, 10时野兔的数量。

python实现数学模型(插值、拟合和微分方程)

Python实现(关键程序)

import numpy as np

year = np.arange(0, 9, 1)
num = [5, 5.9945, 7.0932, 8.2744, 9.5073, 10.7555, 11.9804, 13.1465, 14.2247]

fit = np.polyfit(year, num, 1)
print("线性拟合表达式:", np.poly1d(fit))
num_fit = np.polyval(fit, year)
plt.plot(year, num, 'ro', label='原始数据')
plt.plot(year, num_fit, 'b-',label='拟合曲线')
year_later = np.arange(8, 11, 0.5)
num_fit_curve = fit[0] * year_later + fit[1]

结果

python实现数学模型(插值、拟合和微分方程)

到此这篇关于python实现数学模型(插值、拟合和微分方程)的文章就介绍到这了,更多相关python数学模型内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python列表(list)常用操作方法小结
Feb 02 Python
将字典转换为DataFrame并进行频次统计的方法
Apr 08 Python
使用Python轻松完成垃圾分类(基于图像识别)
Jul 09 Python
python 绘制拟合曲线并加指定点标识的实现
Jul 10 Python
python 获取sqlite3数据库的表名和表字段名的实例
Jul 17 Python
Pycharm及python安装详细教程(图解)
Jul 31 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
Oct 15 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 Python
python 写一个水果忍者游戏
Jan 13 Python
pytest进阶教程之fixture函数详解
Mar 29 Python
Python使用pandas导入csv文件内容的示例代码
Dec 24 Python
Python使用pandas导入xlsx格式的excel文件内容操作代码
Dec 24 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
Nov 13 #Python
Python图像识别+KNN求解数独的实现
Nov 13 #Python
Django正则URL匹配实现流程解析
Nov 13 #Python
Django框架请求生命周期实现原理
Nov 13 #Python
python在地图上画比例的实例详解
Nov 13 #Python
python语言实现贪吃蛇游戏
Nov 13 #Python
Python使用struct处理二进制(pack和unpack用法)
Nov 12 #Python
You might like
颠覆常识!无色透明的咖啡诞生了(中日双语)
2021/03/03 咖啡文化
使用URL传输SESSION信息
2015/07/14 PHP
event.srcElement+表格应用
2006/08/29 Javascript
js获取当前日期代码适用于网页头部
2013/06/27 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
2014/06/30 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
获取Django项目的全部url方法详解
2017/10/26 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
美国瑜伽品牌:Gaiam
2017/10/31 全球购物
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
研究生求职推荐信范文
2013/11/30 职场文书
技校个人求职信范文
2014/01/25 职场文书
护士求职自荐信
2015/03/25 职场文书
反邪教观后感
2015/06/11 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
2019假期福利管理制度!
2019/07/15 职场文书
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA