本次 助攻CDF题 问题一二三问均已完成更新,更新计划轴如图所示
由于赛题之间存在紧密的联系,单独发布问题一二,有可能与明天最终论文不相符,会根据后面问题对前面几问进行调整。个人建议,等明天上午的完整论文即可
题 目: 基于数据驱动下磁性元件的磁芯损耗建模
摘 要:
随着国民经济发展和社会进步,基于电力电子技术的电能变换(电能变换是指将电能从一种形式转变成另一种形式,如直流电转换为不同电压的直流电,直流电转换为不同频率和大小的交流电等)得到迅速发展,尤其是新能源和信息通讯领域。本文将基于数据驱动下磁性元件的磁芯损耗建模。
针对问题一,基于实验数据,提取反映磁通密度分布和波形特征的变量,进而对三种波形(正弦波、三角波、梯形波)进行分类。通过提取磁通密度随时间变化的特征量,我们建立了一个特征提取机制。随后,采用随机森林分类器作为模型,对这些特征进行分类建模。训练集中的数据用于拟合分类器,而测试集数据用于验证模型的效果。模型成功对三种波形进行了分类,并得到了准确的分类结果。
针对问题二,基于实验数据,修正斯坦麦茨方程,增加温度修正项,以适应不同温度条件下的损耗预测。使用实验数据,分别拟合传统斯坦麦茨方程和修正后的方程,利用最小二乘法(lsqcurvefit)对参数 k1、a、b和温度修正系数c 进行拟合。修正后的斯坦麦茨方程能够更准确地预测不同温度下的磁芯损耗。对比传统斯坦麦茨方程与修正模型,后者的预测误差显著降低,最终模型的均方误差(MSE)也得到了显著改善。
针对问题三,分析这些因素对损耗的独立及协同影响,并找到使磁芯损耗最小的最优条件。我们采用多元回归模型分析材料、温度、励磁波形和频率对磁芯损耗的影响,模型考虑了独立效应以及两两因素之间的交互作用。通过对不同组合的实验数据进行分析,计算出每种材料和波形在不同温度下的平均损耗。同时,利用可视化工具进一步分析这些因素的交互作用。通过回归模型的预测与分析,我们找到了使磁芯损耗最小的最优条件:在材料4、温度为90℃、频率为50010Hz、正弦波形下,磁芯损耗最小值。
问题四五,22日早六点之前发布
关键词:
X射线脉冲星光子到达时间建模
摘要
脉冲星是一类高速自转的中子星,其自转形成规律性脉冲信号,类似于“宇宙中的灯塔”,因此被认为是极为精确的时钟。X射线脉冲星导航利用脉冲星信号为航天器提供时间和空间参考。通过比较脉冲信号到达航天器和太阳系质心的时间差,能够实现航天器的精确定位。为了准确计算该时间差,需要考虑卫星的轨道运动、脉冲星光子传播过程中的几何时延、Shapiro时延、引力红移效应及相对论效应等多种复杂因素。
2016年,我国发射的XPNAV-1卫星观测了蟹状星云脉冲星(PSR B0531+21)的X射线信号。该任务要求通过光子到达时间模拟和折叠,得到脉冲星的精确计时轮廓,为脉冲星导航系统的发展提供重要数据支持。
关键词:
%% 数据导入
data = readtable('附件一测试.xlsx', 'ReadVariableNames', true, 'VariableNamingRule', 'preserve');
% 显示数据前几行以确认导入是否正确
head(data)
% 将‘励磁波形类型’这一列重命名为英文名称
trainData.Properties.VariableNames{'Var4'} = 'WaveformType'; % Var4 是你需要的那一列,检查下正确的索引
% 提取特征
X = extractFeatures(trainData);
y = grp2idx(trainData.WaveformType); % 将波形类型转换为数字
% 3. 划分训练集和验证集
cv = cvpartition(y, 'HoldOut', 0.2);
X_train = X(training(cv), :);
y_train = y(training(cv));
X_val = X(test(cv), :);
y_val = y(test(cv));
% 4. 模型训练(使用随机森林)
model = TreeBagger(100, X_train, y_train, 'Method', 'classification');
% 5. 验证模型
y_pred = predict(model, X_val);
y_pred = grp2idx(y_pred); % 将预测结果转换为数字
% 6. 输出分类报告
fprintf('Classification Report:\n');
fprintf('Accuracy: %.2f\n', sum(y_pred == y_val) / length(y_val));
% 7. 对附件二中的样本进行分类
testData = readtable('附件二材料1.xlsx'); % 调整文件路径
X_test = extractFeatures(testData);
% 8. 进行预测
predictions = predict(model, X_test);
predictions = grp2idx(predictions);