python散点图拟合曲线-Python解决最小二乘法拟合并绘制散点图
问题背景
最近物理老师让用Excel弄一个最小二乘法拟合然后弄出方程来求玻尔兹曼常数。无奈发现Linux上的WPS没有绘图功能无语啊O__O”…,据说绘图功能是用delphi写的,不好做跨平台移植……那只好将重任加在Python上喽~
原始数据
u1 = np.array([0.3, 0.31, 0.32, 0.33, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39, 0.4, 0.41, 0.42, 0.43, 0.44, 0.45, 0.46])
u2 = np.array([0.026,0.038,0.058,0.084,0.121,0.185,0.28,0.416,0.597,0.917,1.341,2.07,3.005,4.379,6.575,9.523,12.001])
lnu2 = np.log(u2)
曲线拟合
import numpy as np
import matplotlib.pylab as plt
from scipy.optimize import leastsq
from scipy import constants as C
# 误差函数
def residuals(p):
k, b = p
return lnu2 - (k * u1 + b)
r = leastsq(residuals, [1, 0])
K, B = r[0]
print("斜率k =", K, "截距b =", B)
a, b = np.exp(B), K
print("常量a =", a, "常量b =", b)
k = C.electron_volt / (b * 300)
print("玻尔兹曼常量k =", k, "J/K")
绘制散点图+拟合曲线
plt.scatter(u1, lnu2)
plt.plot(u1, u1 * K + B, linewidth=2)
plt.xlabel('U1(V)')
plt.ylabel('lnU2(V)')
plt.grid(True)
plt.title('Plot : lnU2--U1')
plt.show()
plt.scatter(u1, u2)
plt.plot(u1, a * np.exp(b * u1), linewidth=2)
plt.xlabel('U1(V)')
plt.ylabel('U2(V)')
plt.grid(True)
plt.title('Plot : U2--U1')
plt.show()
python散点图拟合曲线-Python解决最小二乘法拟合并绘制散点图相关推荐
- python散点图拟合曲线-python散点图拟合
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 下面是我在文本文件中绘制数据散点图的代码. 我打开的文件包含两列. 左列为x坐标 ...
- python散点图拟合曲线-python 拟合曲线并求参
需要对数据进行函数拟合,首先画一下二维散点图,目测一下大概的分布, 所谓正态分布,就是高斯分布,正态曲线是一种特殊的高斯曲线. python的scipy.optimize包里的curve_fit函数来 ...
- python散点图拟合曲线-python曲线拟合
http://blog.sina.com.cn/s/blog_aed5bd1d0102vid7.html 1.多项式拟合范例: import matplotlib.pyplot as plt impo ...
- python取对数及作对数差在绘制散点图中的作用
文章目录 前言 一.diff()运算 二.三种情况下的散点图 1.取数据 2.绘制散点图 总结 前言 问题背景:在做两变量散点图分析其相关性时,在某本书上看到了如下操作: trans_data = n ...
- python散点图拟合曲线-python散点图:如何添加拟合线并显示拟合方程与R方?
原标题:python散点图:如何添加拟合线并显示拟合方程与R方? polyfit()函数可以使用最小二乘法将一些点拟合成一条曲线. numpy.polyfit(x, y, deg, rcond=Non ...
- python散点图拟合曲线-python 绘制拟合曲线并加指定点标识的实现
python 绘制拟合曲线并加指定点标识 import os import numpy as np from scipy import log from scipy.optimize import c ...
- python散点图拟合曲线-python – 将曲线拟合到散点图的边界
我发现问题真的很有趣,所以我决定尝试一下.我不知道pythonic或natural,但我认为我已经找到了一种更准确的方法,可以在使用每个点的信息时将边缘拟合到像您这样的数据集. 首先,让我们生成一个看 ...
- python散点图拟合曲线-python中的多元(多项式)最佳拟合曲线?
Tyson 对this question的公认回答 提供了 您只需将x和y点的数组以及所需的拟合度(顺序)传递到multipolyfit.这将返回系数,然后可以使用numpy的polyval绘制. 注 ...
- python散点图如何设置外边框_如何绘制散点图的外围边框?
我猜题主想要的是这种效果吧? 这是一个典型的由凸包(Convex Hull)问题衍生出来的 问题. 1.凸包是什么 对包含n个点的集合S来说,凸包可以看作是所有包含这n个点的闭合半平面的交集.在在二维 ...
最新文章
- Java的正则表达式使用及案例
- nginx配置laravel
- MongoDB之compact操作详解
- 【Android 逆向】代码调试器开发 ( 等待进程状态改变 | detach 脱离进程调试 PTRACE_DETACH | 调试中继续运行程序 PTRACE_CONT )
- boost::posix_time模块实现闹钟的测试程序
- [HAOI2007] 理想的正方形 (单调队列)
- TensorLayer的安装
- Python之Matplotlib画图方法
- 【渝粤题库】陕西师范大学202041 国际经济学 作业(专升本)
- echo 1+2+3+4+5“输出的结果是6
- windows程序窗体创建流程模型A--发送自定义消息逻辑上出现Bug
- luogu P1273 有线电视网
- java程序员技术_JAVA程序员需要懂得哪些技术
- html css字体最小,html-字体大小CSS问题
- PHP IE下载时提示”无法复制 无法读取源文件或磁盘”的解决办法
- matlab内置函数subs使用方法
- python立方尾不变
- 使用Lucene对doc、docx、pdf、txt文档进行全文检索功能的实现
- 后悔当初学php,中佛网-法师开示:当初为了家庭而丢了事业,现后悔不已,该怎么办?...
- pytorch处理CK+数据集
热门文章
- POJ1038 Bugs Integrated, Inc.
- POJ 1182 食物链
- 谁的bug? 正则 拷贝和粘贴 regulator工具
- flex布局的相关注意事项
- MySQL—02—MySQL的操作
- WPF Geometry 添加Path数据
- Android 适配底部返回键等虚拟键盘的完美解决方案
- .NET Core的日志[4]:将日志写入EventLog
- HIGHGUI ERROR: V4L2: Pixel format of incoming image is unsupported by OpenCV
- PHP内核探索之变量(2)-理解引用