Optimtool not enough arguments

both while running the code and optimtool i get the error that not enough arguments
function ar = fun(a)
A=[8+a 1
2 3];
ar =det(A);
end
Error in the following problem input(s):
objective: Not enough input arguments.

9 commentaires

Walter Roberson
Walter Roberson le 8 Mar 2020
Please show the code that invokes the optimization algorithm
By the way you can optimize that calculation as
ar = 3*a+22
Yashwardhan Panwar
Yashwardhan Panwar le 8 Mar 2020
function ar = fun(a)
A=[8+a 1
2 3];
ar =det(A);
end
Yashwardhan Panwar
Yashwardhan Panwar le 8 Mar 2020
i want to optimse in this way because this a test code i will be implementing the logic on a big matrix
Walter Roberson
Walter Roberson le 8 Mar 2020
How do you start the code running? Which buttons do you press or what do you type in?
Yashwardhan Panwar
Yashwardhan Panwar le 8 Mar 2020
With the code in the script i press the run button , then i get the error and then i launch the optimtool from the command window and after i run the optimisation then also i get the error
Walter Roberson
Walter Roberson le 8 Mar 2020
Okay, so when you press the Run button when you are in the editor for fun.m, what value do you expect MATLAB to use for the variable a and why do you expect it to use that particular value?
Yashwardhan Panwar
Yashwardhan Panwar le 9 Mar 2020
i dont't know. Is there a way then to optimise a function?
Yes, there are a number of ways to optimize a function. For example,
a_guess = randi([-1e6 1e6]);
best_a = fmincon(@fun, a_guess)
In the case of this particular function, the optimal would be -inf

Connectez-vous pour commenter.

Réponses (1)

Koushik Vemula
Koushik Vemula le 12 Mar 2020

0 votes

According to my understanding you are facing this problem because of the way you are trying to access the function.
You need to store your function in a separate ‘.m’ file (say XYZ.m)
Now you can call the function in this manner
XYZ(a) % a – your desired number
If you try to run a file which contains the definition of a function which has input arguments then you'll get those errors which you've faced

Catégories

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by