error in fmincon function
2 次查看(过去 30 天)
显示 更早的评论
clear all;
clc;
objective=@(r)((r(2))*(-25)*(2^(1-max(r(2)/(8*r(3)),r(2)/r(4)))))/(15*r(1))+ 2*(r(5)/r(1));
r0= [1 25 120 100 1000];
A= [];
b= [];
Aeq= [];
beq= [];
lb= [1 10 70 100 500];
ub= [7 40 120 110 600];
nonlcon= @nclon1;
function [c,ceq] = nclon1(r)
c = r(1)^2 + r(2)^2 + r(3)^3 + r(4)^4 + r(5)^5 - 1;
ceq = [];
end
%Function
r= fmincon(objective,r0,A,b,Aeq,beq,lb,ub,nonlcon);
%Results
disp(r) %Values
disp(objective(r)) %Points
error msg:
Error:
Function definitions in a script must appear at the end of the file.
Move all statements after the "nclon1" function definition to before the first local function
definition.
0 个评论
采纳的回答
Manas Minnoor
2021-6-6
Hi Aakash,
Any function definition in a script must be at the end. You may not follow a function definition with unrelated code.
Please refer to this link as this question has already been answered.
Hope this solves it.
3 个评论
Manas Minnoor
2021-6-6
Do you have the optimization toolbox installed?
See the following:
https://in.mathworks.com/matlabcentral/answers/491764-unrecognized-function-or-variable-getipoptions
更多回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!