铁素体应变预测的BP神经网络模型训练与验证
铁素体应变预测的BP神经网络模型训练与验证
该段代码的功能是对给定的样本数据进行归一化处理,然后使用BP神经网络进行训练和预测。
代码解释
1. 读取应力样本数据:
p1=xlsread('C:\Users\Administrator\Desktop\样本数据汇总\铁素体\大范围数据\总处理.xlsx','sheet1');
从指定的Excel文件中读取应力样本数据并保存到变量p1中。
2. 归一化处理:
for i=1:9
p3(:,i)=(p1(:,i)-60)/2500;
end
p3(:,10)=p1(:,11);
将p1中的数据进行归一化处理,将每个元素减去60后除以2500,保存到变量p3中。
3. 读取应变样本数据:
t1=xlsread('C:\Users\Administrator\Desktop\样本数据汇总\铁素体\大范围数据\总处理.xlsx','sheet2');
从指定的Excel文件中读取应变样本数据并保存到变量t1中。
4. 归一化处理:
t2(:,1)=(t1(:,2)-100)/400;
t2(:,2)=(t1(:,3)-t1(:,4)-20)/280;
t2(:,3)=(t1(:,4)-20)/480;
将t1中的每个元素根据不同的归一化公式进行处理,保存到变量t2中。
5. 初始化变量:
a1=0;
定义变量a1为0,用于计数。
6. 循环训练神经网络:
for i8=[100,500,1000,2000,5000]
a1=a1+1;
for i7=1:i8
p(:,i7)=p4(:,i7);
t(:,i7)=t4(:,i7);
end
% 创建BP网络和定义训练函数及参数
a2=0;
for i5=[6,10,16,26,35]
a2=a2+1;
i10=round(i5*.618);
net=newff(minmax(p),[i10,i5,3],{'logsig','logsig','purelin'},'trainscg');
net.trainParam.lr=0.1; %学习速率
net.trainParam.mc=0.9; %动量因子
net.trainParam.epochs=10000; %最大的训练次数
net.trainParam.goal=1.0e-4; %训练要求精度
net.trainParam.show = 50;
net=init(net); %初始化神经网络
% 训练神经网络
[net,tr]=train(net,p,t); %[神经网络的名称(随意命名),展示训练记录按钮]
a14= strcat('F:\神经网络算法\训练好的神经网络撒双层4(汇总)\net', num2str(1),'.mat'); %strcat将字符型变量连接起来
save(a14,'net'); %把训练好的神经网络保存起来(save文件位置+名称,'要保存的神经网络结构名称')
end
end
- 根据不同的样本数量进行循环,样本数量分别为100、500、1000、2000和5000。
- 在每次循环中,将
p3和t2中对应数量的样本数据保存到变量p和t中。 - 初始化神经网络
net,设置其结构为[i10,i5,3],激活函数分别为'logsig','logsig','purelin'。 - 设置神经网络的训练参数,包括学习速率、动量因子、最大训练次数和训练要求精度。
- 初始化神经网络
net。 - 使用训练函数
train对神经网络进行训练,同时保存训练记录到变量tr中。 - 将训练好的神经网络
net保存到指定位置。
7. 初始化变量:
a2=0;
定义变量a2为0,用于计数。
8. 循环验证神经网络:
for i5=[6,10,16,26,35]
a2=a2+1;
% 低应变奥氏体数据
B1=xlsread('C:\Users\Administrator\Desktop\神经网络结构确定\铁素体50组验证\excel1.xls','sheet1');
for i6=1:50
B2=zeros();
for i2=1:9
B2(1,i2)=B1(i6,i2);
end
B2(1,10)=B1(i6,11);
for i=1:9
B2(1,i)=(B2(1,i)-60)/2500;
end
a12=sim(net,B2'); %[训练出来的神经网络算法名称,要预测的变量]
a13(1,(a1-1)*250+50*(a2-1)+i6)=55;
a13(2,(a1-1)*250+50*(a2-1)+i6)=a12(1,1)*400+100;
a13(4,(a1-1)*250+50*(a2-1)+i6)=a12(3,1)*480+20;
a13(3,(a1-1)*250+50*(a2-1)+i6)=a12(2,1)*280+20+a13(4,(a1-1)*250+50*(a2-1)+i6);
end
end
- 根据不同的神经网络结构进行循环,神经网络结构分别为6,10,16,26和35。
- 在每次循环中,读取验证数据
B1。 - 对
B1中的每个样本进行预测,将预测结果保存到变量a13中。
9. 将预测结果保存到Excel文件:
xlswrite('C:\zuhe1.xls',a13','sheet1','A1');
将变量a13中的数据写入指定的Excel文件中。
代码功能总结
该段代码的主要功能是:
- 读取应力样本数据和应变样本数据
- 对数据进行归一化处理
- 使用BP神经网络模型对铁素体材料的应变进行训练和预测
- 将预测结果保存到Excel文件中
原文地址: https://www.cveoy.top/t/topic/qvg7 著作权归作者所有。请勿转载和采集!