大学物理实验不确定度计算器

您所在的位置:网站首页 or值计算器 大学物理实验不确定度计算器

大学物理实验不确定度计算器

2023-03-22 21:12| 来源: 网络整理| 查看: 265

大物实验计算不确定度纯属牛马行为,本人在某次大物实验之后,面对众多数据,直接破防,索性一劳永逸,编程解决这种重复,不需要脑子的过程。

使用python写了一个不确定度计算器,输入数据个数和数据以及B类不确定度,程序会计算所有的步骤,并且将关键信息打印出来,以便填写数据处理过程。

# 导入数学和统计模块 import math import statistics import scipy # 定义一个函数,用于计算A类不确定度 def calculate_a_uncertainty(data): # 计算测量数据的平均值 mean = statistics.mean(data) print(f"平均值为{mean}") # 计算测量数据的标准差 stdev = statistics.stdev(data) print(f"标准差为{stdev}") # 计算测量次数 n = len(data) # 计算置信度为0.95时的t分布临界值 t=scipy.stats.t.ppf(0.975, n-1) print(f"t值取{t}") # 计算A类不确定度 a_uncertainty = t * stdev / math.sqrt(n) # 返回A类不确定度 print("由A类不确定度计算公式 a=t*S/sqrt(n),得") print(f"A类不确定度为{a_uncertainty}") return a_uncertainty # 定义一个函数,用于计算最终的不确定度 def calculate_final_uncertainty(data, b_uncertainty): # 调用上面的函数,计算A类不确定度 a_uncertainty = calculate_a_uncertainty(data) # 计算最终的不确定度,假设A类和B类不确定度是相互独立的 final_uncertainty = math.sqrt(a_uncertainty**2 + b_uncertainty**2) # 返回最终的不确定度 return final_uncertainty # 输入数据个数,假设是一个正整数 n = int(input("请输入数据个数:")) # 创建一个空列表,用于存储测量数据 data = [] # 循环输入测量数据,假设是浮点数 for i in range(n): x = float(input(f"请输入第{i+1}个数据:")) data.append(x) # 输入B类不确定度,假设是一个非负浮点数 b_uncertainty = float(input("请输入B类不确定度:")) # 调用上面的函数,计算最终的不确定度 final_uncertainty = calculate_final_uncertainty(data, b_uncertainty) # 输出最终的不确定度,保留两位小数 print(f"最终的不确定度为:{final_uncertainty},(注:合成不确定度:当数据的首位数字大于或等于三时,取一位有效数字;当数据的首位数字小于三时,去两位有效数字。(数据保留采取非零即进的原则)")

注:需要下载statistics、scipy包

下载命令如下

# pip install statistics # pip install scipy

本程序仅能计算非传导不确定的计算,若需要计算传导不确定度计算,请移步github。

github上的

这位博主,汉化了不确定传导计数器,可本地打开也可在线使用

博主的地址为

https://github.com/JoeYe-233/PoU-Calc-Chinese-Localization

为了防止某些同学不能科学上网,我直接贴上了该计算传导不确定度的网页

https://joeye-233.github.io/PoU-Calc-Chinese-Localization/


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3