フィルターのクリア

Error in Genetic Algorithm ??

4 ビュー (過去 30 日間)
M.Shaarawy
M.Shaarawy 2018 年 2 月 20 日
コメント済み: M.Shaarawy 2018 年 2 月 20 日
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 件のコメント
Jan
Jan 2018 年 2 月 20 日
編集済み: Jan 2018 年 2 月 20 日
I've formatted your code using the "{} Code" button. It is easy and makes your message readable.
What is "obs"? You have defined "obsb" only.
M.Shaarawy
M.Shaarawy 2018 年 2 月 20 日
sorry its obs not obsb
what do you mean with "{}Code" button

サインインしてコメントする。

回答 (1 件)

Jan
Jan 2018 年 2 月 20 日
編集済み: Jan 2018 年 2 月 20 日
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 件のコメント
M.Shaarawy
M.Shaarawy 2018 年 2 月 20 日
This it is error going to makeState.m
M.Shaarawy
M.Shaarawy 2018 年 2 月 20 日
I want to find x which is 27*1 vector , and now I must define its size..??

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGeneral Physics についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by