【题干后面再补】

第一问:

题目要求从每个样本1024个采样点中提取数个特征并依此作为依据,对励磁波形进行分类

由于毕设做的就是通信信号调制样式判别,所以对这种套路还是蛮熟悉的,直接基于先验知识找几个常用信号特征(时域平均值、时域标准差、频域平均值、大于半峰值的采样点比例等),然后扔给集体学习算法(本组选的随机森林算法)学就完事了

出人意料的是居然能学到100%正确率,看了不愧是第一问,确实简单【图和code后面补】

虽然本题似乎没有在这里挖坑,但是还是要记得对原始信号来一波归一化再提取特征

第二问:

题目要求先拟合原始方程参数,然后修正原始方程,求出修正过的原始方程并进行对比说明

第一步原始方程拟合无脑fitlm

第二步先仰仗我们的两位论文手推导出修正方程,在原始方程基础上乘了一个b(4)*log(1+b(1)./(x(:,3)+b(2)))【公式等我找论文手要过来论文再放,这里是代码里的表述】,最后变成了这个样子:

1
2
% 定义修正模型
modelfun_rsm2=@(b,x) b(4)*log(1+b(1)./(x(:,3)+b(2)))+b(3)*x(:,1)+b(4)*x(:,2)+b(5);

然后继续无脑fitnlm求解,绘制出残差图和拟合度分布图【图和code后面补】

注意在方程求解的时候是先运用了等式两遍同时取对数的方法,故求出来的参数其实都是对数形式的,在计算残差和其他数据的时候记得套个exp

第三问

这一问是我觉得最难的一问,最开始是想舍弃绝大部分数据,只留下三个自变量(励磁波形、温度、材料)构成的48种组合每种组合各100条数据,然后继续无脑拟合非线性方程,进而通过遗传算法求最小值的方式做的

本来代码都写的差不多了,但是我看着每种组合里被舍弃掉的绝大部分数据,突发奇想,既然这艹蛋的磁芯损耗在每种组合下有这么多可能取值,分布还这么大,那么为什么不把它看成一个随机变量呢?

然后就豁然开朗了。合理性方面和论文手讨论过,感觉没什么问题(毕竟实际情况下影响因素太多了,比如频率肯定就有影响,但是第三问就没让你考虑)。工程实现上是先把48种组合各自的数据分开,然后对其中一种先试了试高斯分布拟合(因为高斯分布是自然界中最常见的分布,论文上最好解释),但是拟合效果不尽人意,QQ图分布极散,但考虑到我们的数据只有正值,所以后面尝试用半高斯分布,效果就好了很多

最后又试了试其他分布,核分布的效果是最好的,48个拟合模型的平均误差比率只有6%(半高斯拟合都有9%),所以把两种结果都放了上去,最终预测磁芯损耗最小值半高斯拟合为445,核分布拟合为127【什么条件下忘了,等我回去找到代码跑一遍再放上来】

第四问

和第二问差不多,套改修正模型+预测

第五问

题目要求磁通量最大的同时磁芯损耗最小,那就用数学方法构造新变量Z = 磁芯损耗 - 磁通量,然后把目标函数写出来直接套优化算法求解(本组用的遗传算法)【图和code后面补】

总的来说就是这样了,现在在火车上,有很多不完善的地方等我回了家再搞