Error of "Too many input arguements"
Afficher commentaires plus anciens
i would like to do optimization to the following. I would like to randomly generate two integers from the range -5.0 to 5.0 and then take square of the two integers separately and sum them up finally. The optimal solution for this function should be 0.0
function result=minsum()
x=randi([-5 5],1,2);
result=sum(x.^2);
end
I don't know if my codes are correct. When i tried to use the optimization tools it said "too many input arguements" I don't know how to solve the problem.
Réponses (1)
Sean de Wolski
le 25 Sep 2014
If you want to optimize two numbers between -5 and 5, you shouldn't be using rand but instead letting the optimizer find them.
Here, I'll use random starting points but the optimizer will converge to 0,0
[xopt, fval] = fmincon(@(x)sum(x.^2),randi([-5 5],1,2),[],[],[],[],[-5 -5],[5 5])
1 commentaire
John D'Errico
le 25 Sep 2014
Just to add a clarifying point to a valid answer, the reason why Ellen gets an error of "too many input arguments" is that her function has NO input arguments.
Catégories
En savoir plus sur Particle Swarm dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!