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 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
tahseen alshmary
il 6 Ott 2021
Commentato: Walter Roberson
il 6 Ott 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 Commento
Risposta accettata
Walter Roberson
il 6 Ott 2021
Your ub and lb need to be column vectors, not row vectors.
2 Commenti
Walter Roberson
il 6 Ott 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);
Più risposte (2)
Alan Weiss
il 6 Ott 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 Commento
Vedere anche
Categorie
Scopri di più su MATLAB Support Package for LEGO MINDSTORMS EV3 Hardware in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!