Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clc
- close
- clear
- A= [2 1 1 0 0; 3 3 0 1 0; 2 0 0 0 1];
- B = [10; 24; 8];
- Z = [-1; -1; -1];
- F = [300, 200, 0, 0, 0];
- WB = [3 4 5];
- CB = [F(WB(1)) F(WB(2)) F(WB(3))];
- while true
- FC = CB*B;
- for i=1:length(F)
- WW(i) = CB*A(:,i)-F(i);
- end
- [w,p] = min(WW);
- if w >= 0
- disp('Koniec');
- break;
- end
- szukanieWiersza = B./A(:,p);
- [w, pp] = min(szukanieWiersza);
- while w<0
- szukanieWiersza(pp) = inf;
- [w, pp] = min(szukanieWiersza);
- end
- WB(pp) = p;
- CB = [F(WB(1)) F(WB(2)) F(WB(3))];
- ER = A(pp,p);
- A(pp,:) = A(pp,:)./ER;
- B(pp) = B(pp)/ER;
- for i=1:length(B)
- if i == pp
- continue;
- end
- mnoznik = A(i,p)/A(pp,p);
- A(i,:) = A(i,:)-A(pp,:)*mnoznik;
- B(i) = B(i)-B(pp)*mnoznik;
- end
- end
- for i=1:length(WB)
- ind = find(WB == i);
- if ind ~= 0
- x(i) = B(ind);
- end
- end
- x
- FC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement