问题二 斯坦麦茨方程(Steinmetz-equation)修正
题目
在传统磁芯损耗模型中,斯坦麦茨方程(Steinmetz-equation)(公式(2))虽作为经典模型被广泛应用,却显著受限于其特定的适用条件,如:该方程主要针对正弦波形设计;对于不同种类的磁芯材料及工作温度的变化,SE方程会造成较大的误差,这在实际工程应用中带来了诸多不便与复杂性。目前已经有针对非正弦波形下磁芯损耗模型进行修正(见公式(7)、(8))。
请通过分析斯坦麦茨方程(公式(2)),在同一种磁芯材料、正弦波形下,对于不同温度变化,磁芯损耗预测效果存在的差异性,构造一种可适用于不同温度变化的磁芯损耗修正方程(即在原斯坦麦茨方程基础上,增加温度这个因素,以适应不同温度变化,使磁芯损耗预测效果更好);并以附件一材料1中正弦波形的数据为例,分析你构造的修正方程与斯坦麦茨方程,他们预测磁芯损耗的效果(误差)哪个更好?
求解思路
第二问实质上是引入温度变量到斯坦麦茨方程,辨识最优的模型参数,以及跟引入前的斯坦麦茨方程进行拟合精度比较。
步骤1 传统斯坦麦茨方程分析
➢ 使用斯坦麦茨方程计算不同温度下的磁芯损耗,并与实际测量数据对比,评估其误差。
➢ 分析不同温度对磁芯损耗的影响,发现原始方程的局限性。
步骤2 修正方程构建
在斯坦麦茨方程中引入温度因素,构建新的损耗公式,使其适应不同温度变化。修正方程可以表示为:
𝑃 = 𝑘 ⋅ 𝑓 𝛼 ⋅ 𝐵 𝛽 ⋅ 𝑇 𝛾
其中,𝑇为温度,𝑔𝑎𝑚𝑚𝑎为待求的修正系数。
求解参数时,使用最小二乘法即可,如果要加点新颖性,可以用遗传算法或者是麻雀搜索算法这类智能算法进行参数辨识,即把方程的输出值跟实际值的均方误差 MSE 作为目标函数,对参数变量进行寻优求解。
步骤3 效果对比
➢ 将修正方程与原始方程在不同温度下的预测效果进行对比,计算误差。
➢ 进行可视化分析,把数据、原始方程的计算值、修正方程的计算值三条线绘制到一个图里对比,以及定量计算根均方误差 RMSE、平均相对误差MAPE、平均绝对误差 MAE 进行比较,修正方程的误差越小,说明拟合效果更好。
代码运行结果:
参考代码(点击下载代码):
全部五问的代码(代码都是用matlab手动实现,不是GPT写的Python代码):
单独问题的代码下载地址:
2024华为杯C题MATLAB代码——第一问,方案1:特征提取加支持向量机实现
2024华为杯C题MATLAB代码——第一问,方案2:特征提取加BP神经网络实现
2024华为杯C题MATLAB代码——第一问,方案3:特征提取加随机森林实现
2024华为杯C题MATLAB代码——第一问,方案4:特征提取加K近邻实现
2024华为杯C题第二问MATLAB代码
2024华为杯C题第三问MATLAB代码
2024华为杯C题第四问MATLAB代码
2024华为杯C题第五问MATLAB代码