Error: Expression or statement is incomplete or incorrect

1 vue (au cours des 30 derniers jours)
Kevin
Kevin le 23 Avr 2013
I'm working on minimizing an objective function using fmincon. Below I have included the objective function, as well as the constraints and gradient functions.
options=optimset('LargeScale','on','GradObj','off','GradConstr','off',...
'TolCon',1e-8,'TolX',1e-8);
Lb=[0.25,0.005]; Ub=[1.5;0.1]; % upper and lower bounds for x1 & x2
x0=[1.5;0.1]; % initial design pt.
[x,FunVal,ExitFlag,output]=fmincon('FinalProj_ObjAndGrad',x0,...
[],[],[],[],Lb,Ub,'FinalProj_ConstAndGrad',options)
function [ g,h,gg,gh ] = FinalProj_ConstAndGrad( x )
% Constraints and Gradients
x1=x(1); % do
x2=x(2); % t
g(1)=(184/(28125*pi^3*(x1-x2)*x2*((x1)^2/2-x1*x2+(x2)^2))+(x1*(563200+34865152/(5625*pi*(x1^4-(x1-2*x2)^4))))/(4375000*pi*((x1)^4-(x1-2*x2)^4)))-1;
g(2)=((272384)/(3515625*pi*(x1^4-(x1-2*x2)^4)))-0.1;
g(3)=(x1/x2)-92;
h=[ ]; %no equality constraints
% if nargout>2
% gg(1,1)=(x1*(34865152/(5625*pi*(x1^4-(x1-2*x2)^4))+563200))/...
%(4375000*pi*(x1^4-(x1-2*x2)^4))-(368*(3*x1^2-6*x1*x2+4*x2^2))/...
%(28125*pi^3*x2*(x2-x1)^2*(x1^2-2*x1*x2+2*x2^2)^2);
% gg(2,1)=(x1*(34865152/(5625*pi*(x1^4-(x1-2*x2)^4))+563200))/...
%(4375000*pi*(x1^4-(x1-2*x2)^4))-(368*(x1-2*x2)^3)/...
%(28125*pi^3*x2^2*(x1-x2)^2*(x1^2-2*x1*x2+2*x2^2)^2);
% gh=[ ];
end
function [ f, gf ] = FinalProj_ObjAndGrad( x )
% Objective function and gradient for minimizing weight of column
x1=x(1); % do
x2=x(2); % t
f=(400000*pi)*(x1^2-(x1-2*x2)^2); %weight of support column,
if nargout >1
gf(1,1)=1600000*pi*x2;
gf(2,1)=16000000*pi*(x1-2*x2);
end
When the first m-file is run the following error appears:
Error using feval Error: File: FinalProj_ConstAndGrad.m Line: 5 Column: 6 Expression or statement is incomplete or incorrect.
Error in fmincon (line 681) [ctmp,ceqtmp] = feval(confcn{3},X,varargin{:});
Error in Final_Proj (line 11) [x,FunVal,ExitFlag,output]=fmincon('FinalProj_ObjAndGrad',x0,...
Caused by: Failure in initial user-supplied nonlinear constraint function evaluation. FMINCON cannot continue.

Réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by