You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python利用滴定数据的最大导数求滴定终点pH值

解决滴定终点pH与对应体积的计算问题

你已经完成了导数计算和最大值查找,接下来只需将最大导数对应到原始数据,即可得到滴定终点的体积和pH值,同时可以通过绘图直观展示终点位置。

步骤1:关联最大导数与原始数据

你的导数列表d中每个元素对应原始数据里第i和i+1个点之间的斜率,所以找到最大导数的索引后,取这两个点的体积、pH平均值(比单一点更准确)就是滴定终点的参数。修改代码如下:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# 读取数据
fil = pd.read_csv('https://raw.githubusercontent.com/andreasdh/programmering-i-kjemi/master/docs/datafiler/titreringsdata.txt', delimiter = ",")
volum = fil['volum']
pH = fil['pH']

# 计算pH随体积的导数(斜率)
d = []
for i in range(len(volum)-1):
    dery = pH[i+1] - pH[i]
    dert = volum[i+1] - volum[i]
    dydt = dery/dert
    d.append(dydt)

# 自定义函数:同时返回最大值和对应的索引
def fmax(lst):
    max_val = lst[0]
    max_idx = 0
    for idx, x in enumerate(lst):
        if x > max_val:
            max_val = x
            max_idx = idx
    return max_val, max_idx

# 获取最大导数及其索引
max_deriv, max_idx = fmax(d)

# 计算滴定终点的体积和pH(取两点平均值)
end_point_vol = (volum[max_idx] + volum[max_idx+1])/2
end_point_pH = (pH[max_idx] + pH[max_idx+1])/2

print(f"最大导数: {max_deriv:.2f}")
print(f"滴定终点体积: {end_point_vol:.2f} mL")
print(f"滴定终点pH: {end_point_pH:.2f}")

步骤2:绘图标注滴定终点

在原有绘图代码基础上添加终点标注,同时可以绘制导数曲线更清晰展示最大值位置:

# 绘制滴定曲线并标注终点
plt.plot(volum, pH, color = "#B00B69", label = "滴定曲线")
plt.scatter(volum, pH, color = "hotpink", label = "实验数据点")
plt.scatter(end_point_vol, end_point_pH, color='red', s=100, marker='*', label='滴定终点')
plt.xlabel("加入强碱体积 (mL)")
plt.ylabel("pH值")
plt.grid()
plt.legend()
plt.show()

# 绘制导数曲线,直观展示最大值位置
deriv_volumes = [(volum[i] + volum[i+1])/2 for i in range(len(volum)-1)]
plt.plot(deriv_volumes, d, color='green', label='d(pH)/d(V)')
plt.scatter(end_point_vol, max_deriv, color='red', s=100, marker='*', label='最大导数点')
plt.xlabel("加入强碱体积 (mL)")
plt.ylabel("pH随体积的变化率")
plt.grid()
plt.legend()
plt.show()

关键说明

  • 取两点的体积和pH平均值,是因为导数对应两点间的斜率,终点实际处于这两个数据点之间,平均值更接近真实值。
  • 绘制导数曲线可以直接看到滴定终点的位置——导数最大值对应的就是pH突变最剧烈的点,也就是滴定终点。

内容的提问来源于stack exchange,提问作者Melissa Rodrigues

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 16:25:39