- fminbnd cannot minimize functions of more than one unknown variable
- All Matlab minimization routines e.g. fminsearch expect the unknows to be passed in vector form to your objective function, not as separate arguments.
error using fminbnd with multiple objective function
1 次查看(过去 30 天)
显示 更早的评论
I have a function "f1" which has multiple inputs and 4 outputs.
[Opt,L,Cost,N_Afa]=f1(R_p,r_B,N_Af,X_A,P_f,T,mu,M_A,M_B,M_C,k,D_A,R,c_1,c_2,rho_p)
I want to use fminbnd to minimise the Objective "Opt" by changing the variables "R_p" and "r_B" while treating all other inputs as constants. I made an additional function "out" that turns the multiobjective function into a single output function so that fminbnd can handle it based on the response to someone elses question:
function result= out(f1,R_p,r_B,varargin)
n = nargout(f1);
outs = cell(1,n);
[outs{:}] = f1(R_p,r_B,(varargin{:}));
result = outs{end};
end
[alpha,fval]=fminbnd(@(R_p,r_B)out(@f1,R_p,r_B,N_Af,X_A,P_f,T,mu,M_A,M_B,M_C,k,D_A,R,c_1,c_2,rho_p), 0,1);
However, I get an error of not enough input arguments when i run:
result= out(f1,R_p,r_B,varargin)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Construct and Work with Object Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!