how to resolve this "not enough input arguments" from the code shown below

1 vue (au cours des 30 derniers jours)
Sai Dinesh Kancharana
Sai Dinesh Kancharana le 4 Sep 2019
Commenté : Jan le 4 Sep 2019
here objFun=@(mag)summ;
i.e it summ is given as a function handle to objFun, and that objFun is called from the PSO.m file.
The X(:,idx) is a column vector, that is being passed.
I tried debugging it, but i have found that the argument is not being passed, and hence the error "not enough arguments".
In noth the screenshots the part of the errors are marked, please make a not of it.
Any help or suggestions would be greatly appreciated.
Thanks and regard,
K.Sai Dinesh
Screenshot (11).png
Screenshot (10).png
  1 commentaire
Jan
Jan le 4 Sep 2019
Please post code as text, not as screenshot. Then it is much easier to re-use it to create an answer.

Connectez-vous pour commenter.

Réponses (1)

Jan
Jan le 4 Sep 2019
Modifié(e) : Jan le 4 Sep 2019
objFun=@(mag)summ
Now calling objFun calls summ without input arguments. I assume, you mean:
objFun = @summ
which is a more efficient version than:
objFun = @(mag) summ(mag)
The code looks strange:
for i = magt(:,1)
if(magt(i)>=0.7)
...
end
end
Now the contents of magt is used as index of the same vector. Are you sure that this is wanted? This looks better:
for i = 1:numel(magt)
...
end
You can omit the loop also:
m = (magt > 0.7);
err1 = sum(abs(magt - 1.004 * m - 0.001))

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Produits


Version

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by