Not enough input arguments for multivariable function when using bayesopt.
古いコメントを表示
I want bayesopt to minimize two variables in a particular function. This piece of code works with one function (just var,) but the second I try to add var1 and its corresponding y input into the function all I get is "not enough input arguments." The error sites the "fun = ..." line as the one with the error.
Here is my code and its corresponding error:
var = optimizableVariable('theta',[1,10],'Type','real');
var1 = optimizableVariable('alpha',[1,10],'Type','real');
fun = @(x,y)objfunxx(x.theta, y.alpha); %Create Function Handles
results = bayesopt(fun,[var,var1]);
function f = objfunxx(x,y)
f=y*sin(x);
end
回答 (1 件)
Walter Roberson
2023 年 9 月 13 日
0 投票
fun accepts x, a 1-by-D table of variable values, and returns objective, a real scalar representing the objective function value fun(x).
You on the other hand are expecting the function to be passed two objects
カテゴリ
ヘルプ センター および File Exchange で Get Started with Statistics and Machine Learning Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

