✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
随着高速铁路动车组运行速度的不断提高,大风对高速列车运行造成的影响开始被人们所重视。高速列车在行驶过程中极易受到强风的影响,从而产生较大的俯仰力矩,造成行车事故。在地理位置或环境特殊的路段,车体周围风场发生变化,导致气动力显著改变,增加了列车脱轨、倾覆的可能性。因此,对于高速铁路线路周边大风天气的预测有着重要的意义。 本文研究了高速铁路线路风速风向短时局地预测方法,搭建风速风向超前预测模型,使用由WindLog风速风向传感器获得的数据对于模型进行训练,并进行风速风向超前1min、5min、10min的超短期预测。 为了实现风速风向超前预测,构建了基于LSTM长短时记忆网络的预测模型,对数据进行预处理,设置合理的学习步长,建立双层LSTM网络结构,获取历史步长内的数据特征,进行超前预测。以单变量与双变量为数据输入,比较LSTM模型预测性能的优劣。 对风速超前预测模型进行优化,基于CNN卷积神经网络搭建预测模型,叠加多个CNN卷积模块,提取深层的风速数据特征。结合LSTM长短时记忆网络与CNN卷积神经网络,构建双层LSTM与双层CNN卷积层相叠加的预测模型,LSTM学习数据的时序特征,CNN学习数据的局部深层特征,用改进的优化模型进行风速预测。
⛄ 部分代码
function Positions = initialization(SearchAgents_no, dim, ub, lb)
%% 初始化
%% 待优化参数个数
Boundary_no = size(ub, 2);
%% 若待优化参数个数为1
if Boundary_no == 1
Positions = rand(SearchAgents_no, dim) .* (ub - lb) + lb;
end
%% 如果存在多个输入边界个数
if Boundary_no > 1
for i = 1 : dim
ub_i = ub(i);
lb_i = lb(i);
Positions(:, i) = rand(SearchAgents_no, 1) .* (ub_i - lb_i) + lb_i;
end
end
⛄ 运行结果
⛄ 参考文献
[1]魏昱洲. 高铁线路风速风向短时局地预测方法研究[D]. 北京交通大学, 2019.