این یکی دیگه فکر کنم مشکل ایجاد نکنه

alpha0=[.4,.52,.6];
beta0=[1.2 1.2 1.2];
lambda=1;
D0=[5.3,3.6,1.3];
m0=[1,1,1];
k=.38;

% % -----------------------------
n=[1 2 3];
for i=1:numel(n)
S{i}=nchoosek(n,i);
end
% % -----------------------------
Coalition=1;
profit=[];
jadval = zeros(7,3);
offer={};
for i=1:numel(S)
offer_cell={};
for j=1:size(S{i},1)
alpha=[];
beta=[];

for kk=1:size(S{i},2)
alpha=[alpha ones(1,m0(S{i}(j,kk))).*alpha0(S{i}(j,kk))];
end
for kk=1:size(S{i},2)
beta=[beta ones(1,m0(S{i}(j,kk))).*beta0(S{i}(j,kk))];
end
m=sum(m0(S{i}(j,:)));
D=sum(D0(S{i}(j,:)));
fun_MG0 = @(q,alpha,beta,k,D) -sum((2*alpha.*q+beta + k .*(D-sum(q))).*q -alpha.*(q).^2-beta.*q);
fun_MG = @(q) fun_MG0(q,alpha,beta,k,D) ;
lb=zeros(1,m); % LowerBound
ub=ones(1,m); % UpperBound
[x1, fx1]=fmincon(fun_MG,ones(1,m)*.99,[],[],[],[],lb,ub);
profit(Coalition)=(-fx1);
Coalition = Coalition + 1;
fprintf('\n Emount of Energy :\n');
disp(x1);
fprintf('\n---------------------------------------\n');
fprintf('\nOffer Without Saticfiction Function :\n');
disp(2*alpha.*x1+ beta);
fprintf('\n---------------------------------------\n');
fprintf('\nOffer With Saticfiction Function :\n');
offer_cell{j}=2*alpha.*x1+ beta + k .*(D- sum(x1));
disp(2*alpha.*x1+ beta + k .*(D- sum(x1)));
fprintf('\n---------------------------------------\n');

end
offer{i} = offer_cell;
end