TRY:
[x, fval] = pingtt3([2000, 0.5])
%==========================================
function [x,fval,exitflag,output,lambda,grad,hessian] = pingtt3(x0)
% [x,fval] = pingtt3([2000, 0.5])
% Start with the default options
options = optimset;
% Modify options setting
options = optimset(options,'Display', 'off');
options = optimset(options,'Algorithm', 'interior-point');
[x,fval,exitflag,output,lambda,grad,hessian] = ...
fmincon(@obj,x0,[],[],[],[],[],[],@cons,options);
%-------------------------------------------------
function [c,ceq] = cons(v)
% Compute nonlinear inequalities at x.
x = 10000; %
r = 0.05; %
T = 1; %
ve = 3000; %
se = 0.4; %
d1 = (log(v(1)/x) + (r+v(2)^2/2)*T)/(v(2)*sqrt(T));
c = [];
ceq = v(1)/ve*normpdf(d1)*v(2) - se;
%=======================
function f2 = obj(v)
va = v(1);
sa = v(2);
X = 10000; %
r = 0.05; %
T = 1; %
ve = 3000; %
se = 0.4; %
d2 = (log(va/X) + (r - sa^2/2)*T)/(sa*sqrt(T));
Nd2 = normpdf(d2);
f2 = (sa*exp(-r*T)*X*Nd2/(sa-se) - ve).^2;