I being function from
Unable to perform assignment because the size of the left side is 1-by-14 and the size of the right side is 14-by-14.
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
tahseen alshmary
am 6 Okt. 2021
Kommentiert: Walter Roberson
am 6 Okt. 2021
Unable to perform assignment because the size of the left side is 1-by-14 and the size of the right side is 14-by-14.
Error in SSA (line 87)
Tp=SalpPositions(i,:)>ub';Tm=SalpPositions(i,:)<lb';SalpPositions(i,:)=(SalpPositions(i,:).*(~(Tp+Tm)))+ub'.*Tp+lb'.*Tm;
Error in main_SSA (line 16)
[Best_score,Best_pos,SSA_cg_curve]=SSA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
>>
1 Kommentar
Akzeptierte Antwort
Walter Roberson
am 6 Okt. 2021
Your ub and lb need to be column vectors, not row vectors.
2 Kommentare
Walter Roberson
am 6 Okt. 2021
% Problem preparation
dim = 14;
ub = 1.1 * ones(dim, 1);
lb = 0.05 * ones(dim, 1);
fobj = @ofun;
%--------------------------------------------------------------------------
SearchAgents_no=20; %number of population
Max_iteration=1000; %number of iteration
%%
[Best_score,Best_pos,SSA_cg_curve]=SSA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
Weitere Antworten (2)
Alan Weiss
am 6 Okt. 2021
The error statement is clear: your assignment (equality) statement has a 1-by-14 vector on the left and a 14-by-14 matrix on the right. Take a look at line 87 of your SSA function to see what is wrong. Are those the expected sizes of the variables?
Alan Weiss
MATLAB mathematical toolbox documentation
1 Kommentar
Siehe auch
Kategorien
Mehr zu MATLAB Support Package for LEGO MINDSTORMS EV3 Hardware finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!