Optimtool not enough arguments

1 view (last 30 days)
Yashwardhan Panwar
Yashwardhan Panwar on 8 Mar 2020
Answered: Koushik Vemula on 12 Mar 2020
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 Comments
Yashwardhan Panwar
Yashwardhan Panwar on 9 Mar 2020
i dont't know. Is there a way then to optimise a function?
Walter Roberson
Walter Roberson on 9 Mar 2020
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

Sign in to comment.

Answers (1)

Koushik Vemula
Koushik Vemula on 12 Mar 2020
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

Categories

Find more on Problem-Based Optimization Setup in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!