基于bp神经网络汽车自动变速器最佳挡位判断(Matlab代码实现)
1 文獻來源
2 運行結果
將1,2,3,4擋的輸出信號設為數字1,2,3,4取l的范圍為[0,5]取alpha的范圍為[0.2] 創建的神經網絡為雙隱層第一層隱含層的神經元數目設為5第二層隱含層的神經元的數目設為10訓練函數(學習規則)設為traingda所有隱含層和輸出層的激活函數都設為purelin每次循環50次,最大循環次數500次期望目標誤差最小值為0.01 訓練后的神經網絡為net.mat 從10.5]×[0.2]中隨機選取500個點和其對應作為樣本屬性值,再通過函數fun.m來求出其對應的目標值用這些樣本點來訓練神經網絡
3 參數設置
% 網絡參數設置net.layers{1}.transferFcn = 'purelin'; % 第一層隱含層的激活函數net.layers{2}.transferFcn='purelin';%第二層隱含層的激活函數net.layers{3}.transferFcn = 'purelin'; % 輸出層的激活函數net.trainparam.show = 50; % 每次循環50次net.trainParam.epochs = 500; % 最大循環500次net.trainparam.goal = 0.01; % 期望目標誤差最小值function [target]= fun(input)
%換擋之間的函數
b=[1 2 3 4];
y=@(x)(x.^3+1);
a=size(input);
target=zeros(1,a(2));
for i=1:a(2)
? ? if input(2,i)>=y((input(1,i))-2)
? ? ? ? target(i)=b(1);
? ? else?
? ? ? ? if input(2,i)>=y((input(1,i))-3)
? ? ? ? ? ? target(i)=b(2);
? ? ? ? else
? ? ? ? ? ? if input(2,i)>=y((input(1,i))-4)
? ? ? ? ? ? ? ? target(i)=b(3);
? ? ? ? ? ? else
? ? ? ? ? ? ? ? target(i)=b(4);
? ? ? ? ? ? end
? ? ? ? end
? ? end
end
end
4 Matlab代碼實現
總結
以上是生活随笔為你收集整理的基于bp神经网络汽车自动变速器最佳挡位判断(Matlab代码实现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Coretz可爱手写趣味俏皮字体 for
- 下一篇: java计算机毕业设计酒店订房系统源程序