python - 尝试计算玻尔兹曼方程并将其绘制在图表上时出现溢出错误
问题描述
在 Second_factor 上,它显示了一个溢出错误。有人可以提出替代方案。
import matplotlib.pyplot as plt
n = []
NnN1 = []
n2i = 2
K = 1.38 * (10 ** -23)
for i in range(1, 101):
n.append(i)
T = 100
for i in n:
DE = -13.6 * (1 / (n[i] ** 2) - 1 / n2i)
gn = 2 * (n[i] ** 2)
Dg = gn / n2i
Second_factor = pow(2.71828 , DE/(K*T))
Nn = Dg * Second_factor
NnN1.append(Nn)
print(NnN1)
解决方案
复制的片段,不错!
您的问题不在于代码,而在于您的数学,检查错误。如果添加打印语句,您会看到 的值为DE/(K*T)
2.4e+25。因此,您将 2.71 提高到 24000000000000000000000000 的幂,因此溢出。
推荐阅读
- mysql - 带有 LEFT JOIN 的 MySQL SELECT 意外地将 NULL 插入每个分区的第一行
- c# - Entity Framework Core 使用唯一检查添加多行
- pine-script - 如何在 pine scrpit 策略中追踪止损?
- javascript - 从输入数据属性将变量插入 HTML
- reactjs - React - 只显示被点击的用户
- node.js - 无法在适用于 Linux 的 Windows 子系统(ubuntu)上运行反应服务器
- ios - 需要随着底部列表滚动移动顶部的红色选择器
- c++ - 如何在没有循环的情况下在 C++ 中总结向量 int 的向量
- c# - 使用 C# 在没有 Oracle 客户端的情况下访问 Oracle DB 9.2
- webpack - 使用 Tailwindcss+postcss 的 Svelte 组件样式的 Webpack