How to use function file
2 次查看(过去 30 天)
显示 更早的评论
%Fitness function
function y=myFitness(u)
y=0.004*u(1)-0.0031*u(2)+0.0075*u(3)+0.0015*u(4)-0.0086*u(5)+0.0077*u(6)+0.0060*u(7)-0.0060*u(8)-0.0011*u(9)+0.0093*u(10);
end
I have a code that calculate the co-efficient of u(1) to u(10). i want to change the co-efficient of u(1) to u(10) at every time steps before executing the main.m
main.m
ObjFcn=@myFitness;
nvars=10;
LB= [0 0 0 0 0 0 0 0 0 0];
UB=[500 600 120 180 60 80 30 50 30 50];
[u,fval]=ga(ObjFcn,nvars,[],[],[],[],LB,UB);
0 个评论
采纳的回答
Jan
2016-7-13
编辑:Jan
2016-7-13
function y = myFitness(u, c)
y = c * u(:);
end
function main
c = [0.004, -0.0031, 0.0075, 0.0015, -0.0086, 0.0077, 0.0060, -0.0060, ...
-0.0011, 0.0093];
ObjFcn = @(u) myFitness(u, c);
nvars = 10;
LB = [0 0 0 0 0 0 0 0 0 0];
UB = [500 600 120 180 60 80 30 50 30 50];
[u, fval] = ga(ObjFcn, nvars, [], [], [], [], LB, UB);
c = c + 0.01; % Or what ever the change should look like
ObjFcn = @(u) myFitness(u, c);
[u, fval] = ga(ObjFcn, nvars, [], [], [], [], LB, UB);
... etc
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!