Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
courses:a4b35ko:ukol7 [2010/04/14 12:30] oimag created |
courses:a4b35ko:ukol7 [2025/01/03 18:28] (aktuální) |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== Úkol 7 ====== | ====== Úkol 7 ====== | ||
+ | Kdyby nekdo chtel vykreslovat ganttuv diagram jako maji v pdfku, tak muzete pouzit tuto funkci: | ||
+ | |||
+ | <code matlab> | ||
+ | function gantt( s, p, r, Cmax ) | ||
+ | %GANTT Summary of this function goes here | ||
+ | % Detailed explanation goes here | ||
+ | |||
+ | x = r(s(1)); | ||
+ | y = 0; | ||
+ | height = 2; | ||
+ | |||
+ | hold on; | ||
+ | | ||
+ | colors = ['r' 'g' 'b' 'y' 'm' 'c']; | ||
+ | axis([x-1, Cmax+1, y, height + 1]); | ||
+ | | ||
+ | % create boxes | ||
+ | for i=1:length(p) | ||
+ | rectx = [x, x, x+p(s(i)), x+p(s(i)), x]; | ||
+ | recty = [y, height, height, y, y]; | ||
+ | fill(rectx, recty, colors(mod(i, length(colors)))); | ||
+ | text(x + p(s(i))/2, y + height/2, ['\bf T_' num2str(s(i))], 'color', 'k'); | ||
+ | x = x+p(s(i)); | ||
+ | end; | ||
+ | | ||
+ | hold off; | ||
+ | end | ||
+ | </code> | ||
+ | |||
+ | Pro korektní zobrazení lze použít funkce z Torsche. Vektor s má podle našeho cvičícího obsahovat časy, kdy začnou jednotlivé úlohy, nikoli pořadí úloh. Výše uvedená funkce dává správný graf jen pro případy, kdy na sebe úlohy těsně navazují. Například pro p=[2,1,2,2] r=[4,8,12,0] d=[20,20,20,20] zobrazí nesmysl. | ||
+ | |||
+ | <code matlab> | ||
+ | T = taskset(p); | ||
+ | T.ReleaseTime = (r); | ||
+ | T.Deadline = (d); | ||
+ | for i=1:length(s) | ||
+ | T.Name(i) = ['T' num2str(i)]; | ||
+ | end | ||
+ | T.add_schedule('ko du bratley',s,T.ProcTime,ones(1,length(s))); | ||
+ | plot(T); | ||
+ | </code> | ||
~~DISCUSSION~~ | ~~DISCUSSION~~ | ||