Проблемка в программе для матлаба

NIREEE46

Опытный
Дней с нами
3.610
Розыгрыши
0
Сообщения
207
Репутация
12
Реакции
69
Код:
function [QQQ, PPP, V, k, Y, Table] = BraunRobinson(C,epsilon )
k=2;
n = 20000000;
aSize = size(C,1);
bSize = size(C,2);
AlfaGeneral = zeros(1,n);
BetaGeneral = zeros(1,n);
StrAN = zeros(1,n);
StrBN = zeros(1,n);
StrA = zeros(1,aSize);
StrB = zeros(1,bSize);
i = zeros(1,n);
j = zeros(1,n);
tech2 = sum(C,2);
tech3 = sum(C,1);
[tech2, i(1)] = max(tech2);
[tech3, j(1)] = max(tech3);
 

StrAN(1,1) = i(1);
StrBN(1,1) = j(1);
AlfaGeneral(1) = min(C(i(1),:));
BetaGeneral(1) = max(C(:,j(1)));
AlfaMax = AlfaGeneral(1);
AlfaInd = 1;
BetaMin = BetaGeneral(1);
BetaInd = 1;
StrA(i(1)) = StrA(i(1)) + 1;
StrB(j(1)) = StrB(j(1)) + 1;
Parr = zeros(n,aSize);
Qarr = zeros(n,bSize);
P = zeros(1,aSize);
Q = zeros(1,bSize);
P = StrA./sum(StrA);
Q = StrB./sum(StrB);
Parr(1,:) = P(1,:);
Qarr(1,:) = Q(1,:);
 

for k=2:n
[Y, i(k)] = max(C*(Q'));
[Y, j(k)] = min(P*C);
StrA(1,i(k)) = StrA(1,i(k)) + 1;
StrB(1,j(k)) = StrB(1,j(k)) + 1;
StrAN(1,k) = i(k);
StrBN(1,k) = j(k);
P = StrA./sum(StrA);
Q = StrB./sum(StrB);
AlfaGeneral(k) = min(P*C);
BetaGeneral(k) = max(C*(Q'));
if (AlfaGeneral(k)>AlfaMax)
AlfaMax = AlfaGeneral(k);
AlfaInd = k;
end
if (BetaGeneral(k)<BetaMin)
BetaMin = BetaGeneral(k);
BetaInd = k;
end
Parr(k,:) = P(1,:); 

Qarr(k,:) = Q(1,:);
if (abs(BetaMin - AlfaMax)<2*epsilon)
break;
end
Parr(k,:) = P(1,:);
Qarr(k,:) = Q(1,:);
end
PPP = Parr(AlfaInd,:);
QQQ = Qarr(BetaInd,:);
V = (AlfaMax + BetaMin)/2;
Table = [(1:n)' (StrAN(1,:))' (StrBN(1,:))' Parr(:,:) Qarr(:,:) (AlfaGeneral(1,:))'
(BetaGeneral(1,:))'];
end
Добрый день, с матлабом практически незнаком, но для написания диссертации, нужна программка, которую я вроде с горем пополам написал, но выскакивают ошибки, которые я не могу понять в чем дело. Помогите, люди добрые
Помогите, кто хорошо разбирается в матлабе