load data input output
%划分数据集
random_num = rand(1,2000);
[value,index] = sort(random_num);
x_train = input(index(1:1800),:)';
y_train = output(index(1:1800));
x_test = input(index(1801:2000),:)';
y_test = output(index(1801:2000));
%设置BPNN节点数
inputnum = 2;
hiddennum = 5;
outputnum = 1;
%设置PSO相关参数
sizepop = 10; %种群规模
k = 50; %迭代次数
c1 = 2;c2 = 2; %学习因子
w = 0.8; %惯性因子
%数据归一化
[input_train,inputps] = mapminmax(x_train);
[output_train,outputps] = mapminmax(y_train);
%确定优化参数的数目
length = inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum;
param = rand(sizepop,length);
speed = rand(sizepop,length);