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批量修改文件后缀示例代码分享
Dec 24 Python
Python实现Tab自动补全和历史命令管理的方法
Mar 12 Python
Python paramiko模块的使用示例
Apr 11 Python
python绘制热力图heatmap
Mar 23 Python
python实现一组典型数据格式转换
Dec 15 Python
python输出决策树图形的例子
Aug 09 Python
python 数据提取及拆分的实现代码
Aug 26 Python
Python短信轰炸的代码
Mar 25 Python
Pyspark获取并处理RDD数据代码实例
Mar 27 Python
如何利用Python识别图片中的文字
May 31 Python
python绘制汉诺塔
Mar 01 Python
详解python的内存分配机制
May 10 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
php URL编码解码函数代码
2009/03/10 PHP
PHP使用SOAP调用.net的WebService数据
2013/11/12 PHP
php实现查看邮件是否已被阅读的方法
2013/12/03 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
jQuery插件 selectToSelect使用方法
2013/10/02 Javascript
清除div下面的所有标签的方法
2014/02/17 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
Python类的多重继承问题深入分析
2014/11/09 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
Python lxml解析HTML并用xpath获取元素的方法
2019/01/02 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
ECCO爱步加拿大官网:北欧丹麦鞋履及皮具品牌
2017/07/08 全球购物
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
企业爱岗敬业演讲稿
2014/09/04 职场文书
个人授权委托书范本
2014/09/14 职场文书
2014年村委会工作总结
2014/11/24 职场文书
办公用品质量保证书
2015/05/11 职场文书
货款欠条范本
2015/07/03 职场文书
田径运动会通讯稿
2015/07/18 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python