200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 大学物理实验不确定度计算器

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

时间:2022-07-23 19:21:56

相关推荐

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

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

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

# 导入数学和统计模块import mathimport statisticsimport 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上的

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

博主的地址为

/JoeYe-233/PoU-Calc-Chinese-Localization

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。