数学建模--非多项式拟合法的Python实现

news2024/11/27 22:22:07

目录

  1.算法异同区别

  2.算法核心步骤

  3.算法核心代码

  4.算法效果展示


1.算法异同区别

#*************************************************************************************************************#
方法区别探究
1.对于多项式拟合你需要大致知道这些点的分布,有的时候点比较多就很难进行进一步的联想
2.如果我们采用非多项式拟合的话,我们可以采用最小二乘法的关系来进行进一步的逼近和拟合,最终获得比较合适 
  的函数的系数即可
#*************************************************************************************************************#

  2.算法核心步骤

#继续研究非多项式拟合方法,我们采用的是scipy中的curve_fit函数来来进行拟合
#curve_fit的函数用法
#curve_fit(fun,x,y)
#其中fun是需要拟合而成的函数模板,x和y分别是拟合数据
#比如给出的点呈现于指数函数的变化方式,所以我们就设定指数函数

#具体的算法步骤如下所示:
#1.指数拟合的函数设模板
#2.导入需要拟合的数据
#3.利用curve_fit进行多项式的拟合的
#4.计算拟合函数的y值
#5.进行可视化绘图比较

  3.算法核心代码

#*************************************************************************************************************#
#方法区别探究
#1.对于多项式拟合你需要大致知道这些点的分布,有的时候点比较多就很难进行进一步的联想
#2.如果我们采用非多项式拟合的话,我们可以采用最小二乘法的关系来进行进一步的逼近和拟合,最终获得比较合适的函数的系数即可
#继续研究非多项式拟合方法,我们采用的是scipy中的curve_fit函数来来进行拟合
#curve_fit的函数用法
#curve_fit(fun,x,y)
#其中fun是需要拟合而成的函数模板,x和y分别是拟合数据
#比如给出的点呈现于指数函数的变化方式,所以我们就设定一下函数
#*************************************************************************************************************#

#**********************************************#
#首先将需要的库和函数进行导入
import sys
import os
import numpy as np
import pylab as plb
import matplotlib as plt
from scipy.optimize import curve_fit
#**********************************************#

#**********************************************#
#curve_fit的函数用法
#curve_fit(fun,x,y)
#其中fun是需要拟合而成的函数模板,x和y分别是拟合数据
#**********************************************#

#*************************************************************************************************************#
#1.指数拟合的函数设模板
def fited_fun(x,a,b,c):
    return np.power(a,x)*b+c
#2.导入需要拟合的数据
x = np.arange(1, 31, 1)
y = np.array([20, 23, 26, 29, 32, 35, 38, 45, 53, 62, 73, 86, 101, 118, 138, 161, 188, 220, 
                257, 300, 350, 409, 478, 558, 651, 760, 887, 1035, 1208, 1410])
#3.利用curve_fit进行多项式的拟合的
p_xishu,p1=curve_fit(fited_fun,x,y)#p_xishu表示拟合返回的list数组中a,b,c的值

#4.计算拟合函数的y值
y_new=[fited_fun(i,p_xishu[0],p_xishu[1],p_xishu[2])for i in x]

#5.进行可视化绘图比较
ax0=plb.plot(x,y,'o--',label='OLD VALUES')
ax1=plb.plot(x,y,'*--',label='FITED VALUES')
plb.legend(loc=3, borderaxespad=0., bbox_to_anchor=(0, 0.875))
plb.title('Non-Polynomial Fitting Curve',color='r')
plb.xlabel('x value range',color='r')
plb.ylabel('y value range',color='r')
plb.savefig('C:/Users/Zeng Zhong Yan/Desktop/Non-Polynomial Fitting Curve.png', dpi=200, bbox_inches='tight')
plb.show()
#*************************************************************************************************************#

  4.算法效果展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/968639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

对Excel表中归类的文件夹进行自动分类

首先把excel表另存为.txt文件(注意:刚开始可能是ANSI格式,需要转成UTF-8格式);再新建一个.txt文件,重命名成.bat文件(注意:直接创建的如果是是UTF-8格式,最好转成ANSI格式&#xff0…

WEBGL(5):绘制线

1 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, …

零基础教程:使用yolov8训练自己的目标检测数据集

1.前言 Ultralytics YOLOv8 是一款前沿、最先进&#xff08;SOTA&#xff09;的模型&#xff0c;基于先前 YOLO 版本的成功&#xff0c;引入了新功能和改进&#xff0c;进一步提升性能和灵活性。YOLOv8 设计快速、准确且易于使用&#xff0c;使其成为各种物体检测与跟踪、实例…

1782_Adobe Reader X实现pdf分页保存

全部学习汇总&#xff1a; GitHub - GreyZhang/windows_skills: some skills when using windows system. 看了一本pdf电子书&#xff0c;觉得其中几页很值得分享。如果分享整本书当然是不错的选择&#xff0c;但是分享整本书很可能会导致一个结局——内容太多别人不会去看&…

rz命令无法正常使用?

使用rz命令上传文件时出现如下问题&#xff1a; 这里用的是mobaxterm终端 改用xshell,secureCRT即可正常使用&#xff1a;

Ubutnu允许ssh连接使用root与密码登录

文章目录 1. 修改sshd_config2. 设置root密码3. 重启SSH服务 1. 修改sshd_config 修改/etc/ssh/sshd_config文件&#xff0c;找到 #Authentication&#xff0c;将 PermitRootLogin 参数修改为 yes。如果 PermitRootLogin 参数被注释&#xff0c;请去掉首行的注释符号&#xff…

人大金仓国产数据库在线下载体验测试版本安装方法

在线下载人大金仓数据库体验测试版本方法 下载地址如下&#xff1a; https://www.kingbase.com.cn/rjcxxz/index.htm #下载windows版本地址参考 https://blog.csdn.net/qq_57052445/article/details/130427207https://www.kingbase.com.cn/sqwjxz/index.htm此处需要下载获取…

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书山东师范大学图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书山东师范大学图书馆

openGauss学习笔记-59 openGauss 数据库管理-相关概念介绍

文章目录 openGauss学习笔记-59 openGauss 数据库管理-相关概念介绍59.1 数据库59.2 表空间59.3 模式59.4 用户和角色59.5 事务管理 openGauss学习笔记-59 openGauss 数据库管理-相关概念介绍 59.1 数据库 数据库用于管理各类数据对象&#xff0c;与其他数据库隔离。创建数据…

1781_通用型归并排序函数的C语言实现

全部学习汇总&#xff1a; GitHub - GreyZhang/c_basic: little bits of c. 近期在学习C语言数据结构&#xff0c;看到了排序。我看得是一本国外的书籍&#xff0c;直接网上寻找到的一个英文版。内容比较简洁&#xff0c;讲解也算是调理清晰。 关于排序算法&#xff0c;书中只…

DT vray(焦散 间接照明 图像照明)

折射属性 焦散 材质覆盖 基于图像的照明 双面材质 间接照明 开启GI 光子映射 边上 Irradiance Maps 渲染平滑几何体

项目文章 |首次发现太平洋亚历山大藻(甲藻)快速生长中H3K4me3修饰

发表单位&#xff1a;中国海洋大学海洋遗传育种教育部重点实验室 发表日期&#xff1a;2022年11月30日 期刊 &#xff1a;Frontiers in Marine Science &#xff08;IF2022: 5.247&#xff09; 2022年11月30日中国海洋大学海洋遗传育种教育部重点实验室在Frontiers in Marin…

java八股文面试[多线程]—— as-if-serial

什么是as-if-serial 我不管你编译器和执行器怎么处理指令&#xff0c;怎样的进行指令重排&#xff0c;我要求的单线程所执行的结果不能受影响&#xff0c;我不管你年轻时候犯了什么错&#xff0c;你在人生的过程是怎样来的&#xff0c;我只管你结果是不是成功的。在计算机中&a…

Linux系统中调试GDB调试方法入门分享

本篇讲解使用GDB调试Linux应用程序&#xff0c;以下以 hellowld.c 为例介绍 GDB 的调试入门&#xff1a; 编写代码 #include <stdio.h>int main(int argc, char **argv) {int i;int result 0;if(1 > argc){printf("Helloworld.\n");}printf("Hello W…

DEtection TRansformer (DETR) 与 You Only Look Once (YOLO)

曾经想过计算机如何分析图像&#xff0c;识别并定位其中的物体吗&#xff1f;这正是计算机视觉领域的目标检测所完成的任务。DEtection TRansformer&#xff08;DETR&#xff09;和You Only Look Once&#xff08;YOLO&#xff09;是目标检测的两种重要方法。YOLO已经赢得了作为…

Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法

文章目录 环境说明必要配置一、Pangolin源码和库文件下载依赖安装和编译安装 二、Eigen3源码和库文件下载编译安装 三、Opencv源码和库文件下载编译安装 四、DBoW2 和 g2o五、boost源码和库文件下载编译安装 六、libssl-dev七、ORB-SLAM3源码和库文件下载编译安装 数据集测试参…

Python 字典排序超级简单

再Python中不可避免地要对字典进行排序&#xff0c;有时候字典里放着还是数组&#xff0c;对数组的某个位置元素进行排序&#xff0c;这样有点不容易 转换下思路&#xff0c;可以将字典放在Pandas中的DataFrame中&#xff0c;这样就可以迅速排序了。 import pandas as pd# 原…

8月琐碎但值得的事情

8月份结束了&#xff0c;最近心态比较好&#xff0c;慢点就慢点&#xff0c;没有那么着急了&#xff0c;可能是因为着急也没啥办法&#xff0c; 8月是比较开心的一个月&#xff0c;可能是做的事情更有盼头了&#xff0c;可能是看了喜欢的书&#xff0c;可能是我变瘦了&#xff…

LMD-恶意软件检测工具

LMD是Linux恶意软件扫描器&#xff0c;以GNU GLPv2许可发布。 官方地址&#xff1a;https://www.rfxn.com 下载软件包命令&#xff1a; wget https://www.rfxn.com/downloads/maldetect-current.tar.gz tar命令解包后进入其目录。 安装命令如下&#xff1a; ./install.sh …

10分钟搞懂缓存设计策略

在设计缓存系统时需要考虑不同缓存策略的优缺点和适用场景&#xff0c;通过了解和应用这些策略&#xff0c;可以优化缓存系统的性能和效率。原文: 6-Caching Strategies to Remember while designing Cache System 前言 缓存的目标是减少从原始数据源获取数据的次数&#xff0c…