铁磁材料磁滞回线的 Matlab 绘制与拟合

铁磁材料磁滞回线的 Matlab 绘制与拟合

Status
已发布
Tags
MATLAB
Tech
日常分享
Published
October 13, 2023
Author
晨曦Morlight
本文基于广工大学物理实验 实验十七:铁磁材料的磁滞回线和基本磁化曲线。

背景

简单交代一下背景,在我的物理实验课程中,需要绘制磁滞回曲线,我使用Matlab进行绘图。但在操作过程中,我遇到了一些令我困惑的问题。
归纳为以下两点
  • 在拟合时发现数据点太少,拟合出来的图像与理论图像偏差太大
  • 由于数据点太少,在不能重新进行实验的情况下应该如何选取更合适的拟合方式
 

问题分析

 

教材上实验设计的局限性

在第一个问题中,我认为可以简单归结为实验设计中存在的不足。
 
在本次实验中,我使用了FB310A 磁滞回线实验仪成功在示波器上显示了被测样品的磁滞回线。
实验操作过程
实验操作过程
然而,教材中设计的实验步骤要求仅记录样品的饱和磁场强度、剩磁、矫顽力等信息。尽管这足以描述材料的磁性特征,但从实验的目的出发,这个要求显然有一定的不足。因为我们的实验目的是绘制磁滞回曲线(具有高度非线性的特点),数据点不足会导致图像拟合的不够准确,从而产生多样性的结果。
为了达到更好的效果,我认为应该记录更多的数据点,特别是在磁滞回线上测得的各点的 H 和 B 的数值,以提高数据的密集性。
我重新查阅了教材,原本要求学生在坐标纸上手绘磁滞回曲线。然而,这种方法显然已经过时,不符合现代科研的要求。实验数据的图形绘制和拟合是大学物理实验数据处理的重要环节。传统的毫米方格纸绘制图形不仅不够美观,容易出错,而且只能进行线性拟合。因此,我强烈建议在大学物理实验教学中强调软件绘制实验图形的必要性。
我真诚期望未来的教材更新和修订可以认识到这一问题,逐步淘汰并删去传统的毫米方格纸绘图方法,强调引入软件绘图的必要性。
 

Matlab中选择何种拟合方式?

由于做完实验才发现问题,显然已经不能回到实验室重新实验补充数据了,我只能另想办法解决。下面讨论我发现的第二个问题。
 
通常情况下,当实验数据点足够多时,我们可以选择合适的函数类型进行拟合,例如线性拟合、多项式拟合等。
然而,回到刚才的问题,本次实验数据点有限,而材料的磁滞回曲线没有已知的函数解析式。因此,如果按照传统方式进行拟合,可能会导致结果的不确定性或无法获得正确的图像。材料的磁滞回曲线是材料自身基本的磁性特征,图像拟合之前并没有已知的函数形式。
错误示例:基于多项式的三次方拟合无法得到正确图像
错误示例:基于多项式的三次方拟合无法得到正确图像
因此,为了让实验图像更接近真实情况,或者为了提高图像的美观性,我们可以采用函数插值的方法。在我的情况中,我使用了Matlab中的interp1指令进行样条插值。关于样条插值的详细信息可以在Matlab的帮助文档中找到。

实验结果

磁滞回线绘制效果:
notion image
代码如下:
% 数据点 PY1 = [0.3816 0.21465 0 -0.3816]; PX1 = [139.7333 0 -87.33333 -139.7333]; PY2 = [0.3816 0 -0.21465 -0.3816]; PX2 = [139.7333 87.33333 0 -139.7333]; QY1 = [0.624 0.2184 0 -0.624]; QX1 = [149.600 0 -26.4 -149.600]; QY2 = [0.624 0 -0.2184 -0.624]; QX2 = [149.600 26.400 0 -149.600];
% 生成不同的插值点范围 x1 = -139.7333:1:139.7333; x2 = -149.600:1:149.600;
% 进行样条插值 interp1_PY1 = interp1(PX1, PY1, x1, 'pchip'); interp1_PY2 = interp1(PX2, PY2, x1, 'pchip'); interp1_QY1 = interp1(QX1, QY1, x2, 'pchip'); interp1_QY2 = interp1(QX2, QY2, x2, 'pchip');
% 绘制拟合曲线 figure; % 创建一个新图形窗口 hold on; plot(PX1, PY1, 'o', x1, interp1_PY1, 'r-', PX2, PY2, 'o', x1, interp1_PY2, 'r-', ... QX1, QY1, 'x', x2, interp1_QY1, 'b--', QX2, QY2, 'x', x2, interp1_QY2, 'b--'); legend("样品一特征值","样品一拟合","","","样品二特征值","样品二拟合") xlabel('H'); ylabel('B'); title('样品1,2的磁滞回线'); hold off; % 获得当前坐标轴对象 h_a = gca; % 关闭坐标盒子 box off % 设置坐标的背景颜色 set(h_a, 'Color' , [1, 1, 1]); % 将坐标轴移到原点处 set(h_a, 'XAxisLocation', 'origin'); set(h_a, 'YAxisLocation', 'origin'); % 设置坐标轴的颜色 set(h_a, 'Xcolor', [0, 0, 0]); set(h_a, 'Ycolor', [0, 0, 0]);

总结

简而言之,写下这篇文章,主要是想记录下我在学习过程中的一些思考。
这些问题和解决方法都反映并强调了记录更多数据点和使用函数插值的重要性,同时呼吁教材的更新与修订应该更加关注引入软件绘制实验图形的必要性,以适应现代科研需求,为学生提供更全面的实验经验。

 
参考资料
[1]朱道云,周誉昌,吴肖.大学物理实验[M].北京:北京大学出版社,2020:130-136.
[2]朱道云,冯军勤,吴肖.大学物理实验报告[M].北京:北京大学出版社,2020:71-78.
[3]金华.磁性材料磁化曲线和磁滞回线的Matlab绘制与拟合[J].科技视界,2016(26):179+176.