下列子函数中switch用于变量和函数的多分支选择问题
使用格式如下:switch-case-end
switch 变量
case 常量1
语句序列1;
case 常量2
语句序列2;
…
case 常量n
语句序列n;
otherwise
语句序列;
end
举例如下:
function [lb,ub,dim,fobj] = Get_Functions_details(F)
switch F
case ‘F1’
fobj = @F1;
lb=-100;
ub=100;
dim=30;
case 'F2'
fobj = @F2;
lb=-10;
ub=10;
dim=30;
case 'F3'
fobj = @F3;
lb=-100;
ub=100;
dim=30;
end
end
% 函数F1
function o = F1(x)
o=sum(x.^2);
end
% 函数F2
function o = F2(x)
o=sum(abs(x))+prod(abs(x));
end
%函数 F3
function o = F3(x)
dim=size(x,2);
o=0;
for i=1:dim
o=o+sum(x(1:i))^2;
end
end