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

Тема в разделе "Прочее", создана пользователем NIREEE46, 15 май 2016.

Статус темы:
Закрыта.
  1. NIREEE46

    NIREEE46 Знающий

    Регистрация:
    8 июн 2014
    Сообщения:
    160
    Симпатии:
    54
    Розыгрышей:
    0
    Репутация:
    12
    Код:
    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
    Добрый день, с матлабом практически незнаком, но для написания диссертации, нужна программка, которую я вроде с горем пополам написал, но выскакивают ошибки, которые я не могу понять в чем дело. Помогите, люди добрые
    Помогите, кто хорошо разбирается в матлабе
     
Статус темы:
Закрыта.

Поделиться этой страницей

  • Яндекс.Метрика
  • Рейтинг@Mail.ru