在网上找到的灰狼算法代码,想解决边坡位移—时间曲线的预测问题,可是只把这些命令流输入进去就显示未定义函数或变量‘initialization’。这到底是什么意思呢,还有,有木有大师帮帮忙给讲解一下具体灰狼算法,要是我手里有时间和位移值这两部分数据,我应该把它们带到哪一步呢?毕业救急,谢谢各位了,祝好人一生平安!
tic % 计时
%% 清空环境导入数据
clear
clc
close all
format long
load wndspd
%% GWO-SVR
% 训练/测试数据准备(用前3天预测后一天),用前100天做测试数据
train_input(1,:)=wndspd(1:97);
train_input(2,:)=wndspd(2:98);
train_input(3,:)=wndspd(3:99);
train_output=[wndspd(4:100)]';
test_input(1,:)=wndspd(101:end-3);
test_input(2,:)=wndspd(102:end-2);
test_input(3,:)=wndspd(103:end-1);
test_output=[wndspd(104:end)]';
[input_train,rule1]=mapminmax(train_input);
[output_train,rule2]=mapminmax(train_output);
input_test=mapminmax('apply',test_input,rule1);
output_test=mapminmax('apply',test_output,rule2);
%% 利用灰狼算法选择最佳的SVR参数
SearchAgents_no=20; % 狼群数量
Max_iteration=20; % 最大迭代次数
dim=2; % 此例需要优化两个参数c和g
lb=[0.01,0.01]; % 参数取值下界
ub=[100,100]; % 参数取值上界
Alpha_pos=zeros(1,dim); % 初始化Alpha狼的位置
Alpha_score=inf; % 初始化Alpha狼的目标函数值,change this to -inf for maximization problems
Beta_pos=zeros(1,dim); % 初始化Beta狼的位置
Beta_score=i