من اینطوری نوشت. ولی خطا میده!
function [c, ceq]=NLC(x)

c=-p*q ;

ceq=[];

end


clc;
clear;
close all;
% ----------------------------
% Parameters : [MG1 MG2 MG3 MG4]

p=[12.5 12 13 15]; % Trading Price
q=[25 30 40 50]; % Amount of Energy
alpha = [.3 .32 .34 .36];
beta = [.2 .25 .27 .3];
lambda = [1 1 1 1];
D = [3.3 1.6 2.3 2];
m = [3 2 3 2];
k = [.38 .38 .38 .38];
% ----------------------------
% Satisfacton Function

for i=1:4
pq_bar = k.*(D-sum(q));
end
fprintf('Satisfacton Function = ');
disp(pq_bar)
% ----------------------------
% Production Cost

for i=1:4
Cq=alpha.*q.^2+beta.*q;
end
fprintf('Production Cost = ');
disp(Cq)
% --------------------------------

f=@(x) (((p+pq_bar).*q)-Cq);

lb=[0 0]';

x0=[1 1]';

[x, fx]=fminbnd(f,x0,[],[],[],[],lb,[],@NLC);


اشتباهه؟