Advertisement
Guest User

Untitled

a guest
May 21st, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.97 KB | None | 0 0
  1. clc
  2. close
  3. clear
  4.  
  5. A= [2 1 1 0 0; 3 3 0 1 0; 2 0 0 0 1];
  6. B = [10; 24; 8];
  7. Z = [-1; -1; -1];
  8. F = [300, 200, 0, 0, 0];
  9.  
  10. WB = [3 4 5];
  11. CB = [F(WB(1)) F(WB(2)) F(WB(3))];
  12.  
  13. while true
  14.     FC = CB*B;
  15.     for i=1:length(F)
  16.        WW(i) = CB*A(:,i)-F(i);
  17.     end
  18.  
  19.     [w,p] = min(WW);
  20.  
  21.     if w >= 0
  22.        disp('Koniec');
  23.        break;
  24.     end
  25.  
  26.     szukanieWiersza = B./A(:,p);
  27.     [w, pp] = min(szukanieWiersza);
  28.     while w<0
  29.         szukanieWiersza(pp) = inf;
  30.         [w, pp] = min(szukanieWiersza);
  31.     end
  32.    
  33.  
  34.     WB(pp) = p;
  35.     CB = [F(WB(1)) F(WB(2)) F(WB(3))];
  36.    
  37.     ER = A(pp,p);
  38.     A(pp,:) = A(pp,:)./ER;
  39.     B(pp) = B(pp)/ER;
  40.  
  41.     for i=1:length(B)
  42.         if i == pp
  43.            continue;
  44.         end
  45.         mnoznik = A(i,p)/A(pp,p);
  46.         A(i,:) = A(i,:)-A(pp,:)*mnoznik;
  47.         B(i) = B(i)-B(pp)*mnoznik;
  48.     end
  49. end
  50. for i=1:length(WB)
  51.     ind = find(WB == i);
  52.     if ind ~= 0
  53.         x(i) = B(ind);
  54.     end
  55. end
  56. x
  57. FC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement