من اینطوری نوشت. ولی خطا میده!
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);
اشتباهه؟