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
Walter Roberson
2020년 3월 8일
Please show the code that invokes the optimization algorithm
Walter Roberson
2020년 3월 8일
By the way you can optimize that calculation as
ar = 3*a+22
Yashwardhan Panwar
2020년 3월 8일
Yashwardhan Panwar
2020년 3월 8일
Walter Roberson
2020년 3월 8일
How do you start the code running? Which buttons do you press or what do you type in?
Yashwardhan Panwar
2020년 3월 8일
Walter Roberson
2020년 3월 8일
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
2020년 3월 9일
Walter Roberson
2020년 3월 9일
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
답변 (1개)
Koushik Vemula
2020년 3월 12일
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
카테고리
도움말 센터 및 File Exchange에서 Problem-Based Optimization Setup에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!