Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

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~~
  
  
courses/a4b35ko/ukol7.1271241028.txt.gz · Poslední úprava: 2025/01/03 18:24 (upraveno mimo DokuWiki)
Nahoru
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0