当前位置: 首页 > 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()

结果显示

样品二磁滞回线

样品一磁滞回线

样品一磁化曲线

相关文章:

用示波器测动态滞回线

大学物理(下)实验-中南民族大学通信工程2022级 手动逐个处理数据较为麻烦且还要绘图,故想到用pythonmatplotlib来计算结果并数据可视化。 代码实现 import matplotlib.pyplot as plt# 样品一磁化曲线 X [0, 0.2, 0.4, 0.6, 0.8, 1, 1.5, 2.…...

【JDK动态代理】JDK动态代理:为何只能代理接口和接口实现类

在Java开发中,JDK动态代理是一种非常有用的技术,它允许开发者在不修改目标类代码的情况下,为目标类添加额外的功能。然而,JDK动态代理的使用有一些限制,特别是它只能代理接口和接口实现类。本文将深入探讨这一限制的原…...

MFC工控项目实例二十一型号选择界面删除参数按钮禁用切换

承接专栏《MFC工控项目实例二十手动测试界面模拟量输入实时显示》 对于禁止使用的删除、参数按钮,在选中列表控件选项时切换为能够使用。 1、在TypDlg.h文件中添加代码 #include "ShadeButtonST.h" #include "BtnST.h" class CTypDlg : publi…...

前端框架对比和选择指南

前端框架对比和选择指南 随着 Web 开发技术的快速发展,前端框架已经成为了现代 Web 开发的核心工具之一。它们为开发人员提供了快速构建高效、交互性强的应用的基础。当前流行的前端框架主要包括 React.js、Vue.js 和 Angular.js。在这篇技术博客中,我们…...

人工智能价格战——如何降低成本让人工智能更易于普及

十年前,开发人工智能 (AI) 是只有大公司和资金充足的研究机构才能负担得起的事情。必要的硬件、软件和数据存储成本非常高。但从那时起,情况发生了很大变化。一切始于 2012 年的 AlexNet,这是一种深度学习模型,展示了神经网络的真…...

企业间图文档发放:如何在保障安全的同时提升效率?

不管是大型企业,还是小型创业公司,不论企业规模大小,每天都会有大量的图文档发放,对内传输协作和对外发送使用,数据的生产也是企业业务生产力的体现之一。 伴随着业务范围的不断扩大,企业与客户、合作伙伴之…...

深入解析 ConcurrentHashMap:从 JDK 1.7 到 JDK 1.8

✨探索Java基础 ConcurrentHashMap✨ 引言 ConcurrentHashMap 是 Java 中一个线程安全的高效 Map 集合。它在多线程环境下提供了高性能的数据访问和修改能力。本文将详细探讨 ConcurrentHashMap 在 JDK 1.7 和 JDK 1.8 中的不同实现方式,以及它们各自的优缺点。 …...

VS code user setting 与 workspace setting 的区别

VS code user setting 与 workspace setting 的区别 引言正文引言 相信有不少开始接触 VS code 的小伙伴会有疑问,user setting 与 workspace setting 有什么区别呢?这里我们来说明一下 正文 首先,当我们使用 Ctrl + Shift + P 打开搜索输入 setting 后,可以弹出 4 个se…...

XPath基础知识点讲解——用于在XML中查找信息的语言

1. 什么是XPath? XPath(XML Path Language)是用于在XML(Extensible Markup Language)文档中查找信息的语言。它可以通过路径表达式来选择XML文档中的节点,类似于如何在文件系统中使用路径查找文件。XPath是…...

Visual Studio 2022

VS(Visual Studio)是一款由微软开发的集成开发环境(IDE),用于开发应用程序、网站以及移动应用等。VS的历史可以追溯到1997年,当时发布了第一个版本的VS。以下是VS的一些重要历史里程碑: Visual …...

微软Win11 22H2/23H2 九月可选更新KB5043145发布!

系统之家于9月27日发出最新报道,微软针对Windows11系统,发布了九月最新可选更新补丁KB5043145,22H2用户安装后,系统版本号升至22621.4249,23H2用户安装后升至22631.4249。本次更新修复了Edge使用IE模式有时会停止响应等…...

试试号称最好的7B模型(论文复现)

试试号称最好的7B模型(论文复现) 本文所涉及所有资源均在传知代码平台可获取 文章目录 试试号称最好的7B模型(论文复现)概述论文原理部署与复现推理微调adapter 融合 概述 Mistral 7B 是一个新型的具有 7.3 万亿参数的大语言模型。…...

CTF中文件包含

php伪协议的分类 伪协议是文件包含的基础,理解伪协议的原理才能更好的利用文件包含漏洞。 php://input php://input代表可以访问请求的原始数据,简单来说POST请求的情况下,php://input可以获取到post的数据。 使用条件:includ…...

20.指针相关知识点1

指针相关知识点1 1.定义一个指针变量指向数组2.指针偏移遍历数组3.指针偏移的补充4.指针和数组名的见怪不怪5.函数、指针、数组的结合 1.定义一个指针变量指向数组 指向数组首元素的地址 指向数组起始位置&#xff1a;等于数组名 #include <stdio.h>int main(){int ar…...

PFC和LLC的本质和为什么要用PFC和LLC电路原因

我们可以用电感和电容的特性,以及电压和电流之间的不同步原理来解释PFC(功率因数校正)和LLC(谐振变换器)。 电感和电容的基本概念 电感(Inductor): 电感是一种储存电能的组件。它的电流变化比较慢,电流在电感中延迟,而电压变化得比较快。可以把电感想象成一个“滞后…...

自定义认证过滤器和自定义授权过滤器

目录 通过数据库动态加载用户信息 具体实现步骤 一.创建数据库 二.编写secutity配置类 三.编写controller 四.编写服务类实现UserDetailsService接口类 五.debug springboot启动类 认证过滤器 SpringSecurity内置认证流程 自定义认证流程 第一步:自定义一个类继承Abstr…...

单节点集群的设置及数据写入

背景:elasticsearch单个node节点写入数据-CSDN博客 单个节点数据,如下设置参数, 在单节点集群中,设置 `gateway.recover_after_nodes` 通常是没有意义的,因为单节点集群只有一个节点,无法满足 `gateway.recover_after_nodes` 的条件。然而,如果你仍然想在单节点集群中…...

【Linux学习】【Ubuntu入门】1-2 新建虚拟机ubuntu环境

1.双击打开VMware软件&#xff0c;点击“创建新的虚拟机”&#xff0c;在弹出的中选择“自定义&#xff08;高级&#xff09;” 2.点击下一步&#xff0c;自动识别ubuntu光盘映像文件&#xff0c;也可以点击“浏览”手动选择&#xff0c;点击下一步 3.设置名称及密码后&#xf…...

自动驾驶系列—自动驾驶MCU架构全方位解析:从单核到多核的选型指南与应用实例

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…...

基于单片机多功能称重系统设计

** 文章目录 前言概要功能设计设计思路 软件设计效果图 程序文章目录 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师&#xff0c;一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

WebRTC从入门到实践 - 零基础教程

WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC&#xff1f; WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个支持网页浏览器进行实时语音…...