Error in Genetic Algorithm ??
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I want to solve linear system of equations Ax=b, with ... A is 27*27 matrix, b is 27*1 vector, and x is 27*1..
A_struuct=load('A.mat');
A=A_struuct.A;
obs_struct=load('obs.mat');
obsb=obs_struct.obs;
x0=ones(27,1);
Fun=@(x) norm(A*x-obs,2);
nvars=27;
best_x=ga(Fun,nvars);
Error is
Error using *
Inner matrix dimensions must agree.
Error in @(x)norm(A*x-obs,2)
Error in createAnonymousFcn>@(x)fcn(x,FcnArgs{:}) (line 11)
fcn_handle = @(x) fcn(x,FcnArgs{:});
Error in makeState (line 48)
firstMemberScore = FitnessFcn(state.Population(initScoreProvided+1,:));
Error in gaunc (line 41)
state = makeState(GenomeLength,FitnessFcn,Iterate,output.problemtype,options);
Error in ga (line 348)
[x,fval,exitFlag,output,population,scores] = gaunc(FitnessFcn,nvars, ...
Error in last_kubik (line 182)
best_x=ga(Fun,nvars);
Caused by:
Failure in initial user-supplied fitness function evaluation. GA cannot continue.
2 commentaires
Réponses (1)
Jan
le 20 Fév 2018
Modifié(e) : Jan
le 20 Fév 2018
As soon as you create a standard function instead of an anonymous one, you can use the debugger to find out the details:
function y = Fun(x, obs)
y = norm(A * x - obs, 2);
end
And to call the optimization tool (anonymous function only to provide the parameter obs):
F = @(x) Fun(x, obs); % Or "obsb"?
best_x = ga(F, nvars);
Now enable the debugger:
dbstop if error
If Matlab stops at the error, check the dimensions of A, x and abs
3 commentaires
Voir également
Catégories
En savoir plus sur Genetic Algorithm dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!