当前位置: 首页 > news >正文

用示波器测动态滞回线

大学物理(下)实验-中南民族大学通信工程2022级

手动逐个处理数据较为麻烦且还要绘图,故想到用python+matplotlib来计算结果并数据可视化。


代码实现

import matplotlib.pyplot as plt# 样品一磁化曲线
X = [0, 0.2, 0.4, 0.6, 0.8, 1, 1.5, 2.0, 2.5, 3.0, 4.0]
N1 = 100
Sx = 0.144
L = 0.13
R1 = 4.4
H = []
for x in X:h = (N1 * Sx * x) / (L * R1)H.append(h)# print(f'H={h:.2f}')Y = [0, 0.6, 1.0, 1.7, 2.0, 2.2, 2.8, 3.0, 3.4, 3.4, 4.0]
R2 = 44000
C = 0.000001
N2 = 100
S = 1.24 * (10 ** (-4))
Sy = 23
B = []
for y in Y:b = (R2 * C * Sy * y) / (N2 * S)B.append(b)# print(f'B={b:.2f}')plt.figure()
plt.plot(H, B, '-o', )
for i, b in enumerate(B):plt.text(H[i], b + 4, f'{b:.2f}', ha='center', va='bottom')
plt.xlabel('magnetic field H(A/m)')
plt.ylabel('magnetic induction B(mT)')
plt.title('Sample 1 Magnetization Curve')
plt.grid(True)
plt.show()# 样品一磁滞回线
X1 = [4, 3, 2, 1, 0, 2.7, 2, 1.7, 1.4, 1, 0.3, -1, -3, -4]
X2 = [-4, -3, -2, -1, 0, -2.5, -2, -1.7, -1.4, -1, -0.3, 1, 3, 4]
N1 = 100
Sx = 0.144
L = 0.13
R1 = 4.4# H
H1, H2 = [], []
for x in X1:h = (N1 * Sx * x) / (L * R1)H1.append(h)
for x in X2:h = (N1 * Sx * x) / (L * R1)H2.append(h)# B
Y1 = [3.8, 3.4, 2.1, -1, -2.3, 3, 2, 1, 0, -1, -2, -3, -3.8, -4]
Y2 = [-3.9, -3.5, -2, 1, 2.3, -3, -2, -1, 0, 1, 2, 3, 3.6, 4]
R2 = 44000
C = 10 ** (-6)
N2 = 100
S = 1.24 * (10 ** (-4))
Sy = 23B1, B2 = [], []
for y in Y1:b = (R2 * C * Sy * y) / (N2 * S)B1.append(b)
for y in Y2:b = (R2 * C * Sy * y) / (N2 * S)B2.append(b)# 绘图
plt.figure()
H1.sort()
B1.sort()
plt.plot(H1, B1, '-o', )
H2.sort()
B2.sort()
plt.plot(H2, B2, '-o', )
for i, b in enumerate(B1):plt.text(H1[i], b + 4, f'{b:.2f}', ha='left', va='bottom')
for i, b in enumerate(B2):plt.text(H2[i], b - 4, f'{b:.2f}', ha='right', va='bottom')plt.xlabel('magnetic field H(A/m)')
plt.ylabel('magnetic induction B(mT)')
plt.title('The magnetic hysteresis loop of Sample One')
plt.grid(True)
plt.show()# 样品二磁滞回线
X1 = [4, 0, 1.25, -4]
X2 = [-4, 0, -1.5, 3.8]N1 = 100
Sx = 0.052
L = 0.13
R1 = 4.4
# H
H1, H2 = [], []
for x in X1:h = (N1 * Sx * x) / (L * R1)H1.append(h)
for x in X2:h = (N1 * Sx * x) / (L * R1)H2.append(h)# B
Y1 = [4, -2.2, 0, -4]
Y2 = [-4, 2.2, 0, 4]
R2 = 44000
C = 10 ** (-6)
N2 = 100
S = 1.24 * (10 ** (-4))
Sy = 21.2
B1, B2 = [], []
for y in Y1:b = (R2 * C * Sy * y) / (N2 * S)B1.append(b)
for y in Y2:b = (R2 * C * Sy * y) / (N2 * S)B2.append(b)# 绘图
plt.figure()
H1.sort()
B1.sort()
plt.plot(H1, B1, '-o', )
H2.sort()
B2.sort()
plt.plot(H2, B2, '-o', )
for i, b in enumerate(B1):plt.text(H1[i], b + 4, f'{b:.2f}', ha='left', va='bottom')
for i, b in enumerate(B2):plt.text(H2[i], b - 4, f'{b:.2f}', ha='right', va='bottom')plt.xlabel('magnetic field H(A/m)')
plt.ylabel('magnetic induction B(mT)')
plt.title('The magnetic hysteresis loop of Sample Two')
plt.grid(True)
plt.show()

结果显示

样品二磁滞回线

样品一磁滞回线

样品一磁化曲线

http://www.lryc.cn/news/451376.html

相关文章:

  • 【JDK动态代理】JDK动态代理:为何只能代理接口和接口实现类
  • MFC工控项目实例二十一型号选择界面删除参数按钮禁用切换
  • 前端框架对比和选择指南
  • 人工智能价格战——如何降低成本让人工智能更易于普及
  • 企业间图文档发放:如何在保障安全的同时提升效率?
  • 深入解析 ConcurrentHashMap:从 JDK 1.7 到 JDK 1.8
  • VS code user setting 与 workspace setting 的区别
  • XPath基础知识点讲解——用于在XML中查找信息的语言
  • Visual Studio 2022
  • 微软Win11 22H2/23H2 九月可选更新KB5043145发布!
  • 试试号称最好的7B模型(论文复现)
  • CTF中文件包含
  • 20.指针相关知识点1
  • PFC和LLC的本质和为什么要用PFC和LLC电路原因
  • 自定义认证过滤器和自定义授权过滤器
  • 单节点集群的设置及数据写入
  • 【Linux学习】【Ubuntu入门】1-2 新建虚拟机ubuntu环境
  • 自动驾驶系列—自动驾驶MCU架构全方位解析:从单核到多核的选型指南与应用实例
  • 基于单片机多功能称重系统设计
  • PWA(Progressive web APPs,渐进式 Web 应用): manifest.json、 Service Worker
  • 【学习笔记】手写 Tomcat 八
  • 24年九月份生活随笔
  • [含文档+PPT+源码等]精品大数据项目-基于Django实现的高校图书馆智能推送系统的设计与实现
  • Leecode刷题之路第七天之整数反转
  • SpringBoot项目 | 瑞吉外卖 | 短信发送验证码功能改为免费的邮箱发送验证码功能 | 代码实现
  • Windows暂停更新
  • alpine安装docker踩坑记
  • 使用openpyxl轻松操控Excel文件
  • 指定PDF或图片多个识别区域,识别区域文字,并批量对PDF或图片文件改名
  • Web3中的跨链技术:实现无缝连接的挑战