用示波器测动态滞回线

news/2024/12/22 19:31:58/

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

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


代码实现

python">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.ppmy.cn/news/1533320.html

相关文章

LeetCode 面试经典150题 50.Pow(x,n)

题目&#xff1a;实现 pow(x, n) &#xff0c;即计算 x 的整数 n 次幂函数&#xff08;即&#xff0c; &#xff09;。 思路&#xff1a; 代码&#xff1a; class Solution {public double myPow(double x, int n) {double ans 1;long N n;if (N < 0) {N -N;x 1 / x;}…

9.数据结构与算法-单链表,循环链表和双向链表的比较////顺序表和链表的比较

单链表&#xff0c;循环链表和双向链表的时间效率比较 顺序表和链表的区别 存储密度

git使用“保姆级”教程3——添加暂存区及提交本地库

1、存入暂存区——命令行git add 要将代码放入暂存区&#xff0c;要使用git add指令注意&#xff1a;只是把在工作区的文件往暂存区复制了一份&#xff0c;并不是工作区的文件就消失了 将单文件放在暂存区 // 把文件夹下的1.txt文本放在暂存区 > 1.txt可以替换成任意文件名…

闯关训练一:Linux基础

闯关任务&#xff1a;完成SSH连接与端口映射并运行hello_world.py 1.创建开发机 2.SSH连接 3. VS-Code 连接 选择 Linux 平台 &#xff0c;输入密码 &#xff0c;选择进入文件夹 4.端口映射 按照下文安装Docs pip install gradio 运行server.py import gradio as grdef …

Python库pandas之一

Python库pandas之一 基本数据结构Series构造器属性属性应用函数函数应用 基本数据结构 Pandas提供了两种类型的类来处理数据&#xff1a; Series&#xff1a;保存任何类型数据的一维数组。例如整数、字符串、Python对象等。DataFrame&#xff1a;一种二维数据结构&#xff0c…

C++语言学习(2): name lookup 的概念

何谓 name lookup C 中很重要的一个概念&#xff1a;name lookup。 当编译器在遇到一个 name 的时候&#xff0c; 会做查找&#xff08;lookup&#xff09;&#xff0c;会把引入这个 name 的声明和它关联起来&#xff0c;具体来说&#xff0c;又包含两种类型的 lookup&#xf…

docker_阿里云镜像仓库

1.创建个人实例 登录阿里云——控制台——容器镜像服务——创建个人版实例 2.设置密码 设置后可在终端复制上图2测试 [rootserver ~]# sudo docker login --usernameyou_aliyun_name crpi-8y14tvgewmc6tisz.cn-hangzhou.personal.cr.aliyuncs.com Password: WARNING! Your …

【Linux】几种常见配置文件介绍

配置文件目录 linux 系统中有很多配置文件目录/etc/systemd/system、/lib/systemd/system 以及/usr/lib/systemd/system 等&#xff0c;这三者有什么样的关系呢&#xff1f; 以下是网络上找的资料汇总&#xff0c;并加了一些操作验证。方便后期使用 介绍 目录/lib/systemd/s…