Sysquake Remote Live
Covariance
Un ensemble de points peut être décrit par ses moments de premier et de deuxième ordre. Les moments de premier ordre donnent la moyenne selon l'axe des x et des y; les moments de deuxième ordre donnent leur (co)variance. Ils peuvent être représentés sous forme graphique par une ellipse.
Dans la figure ci-dessous, vous pouvez ajouter des points et observer leur influence sur l'ellipse de covariance.
Code source
Voici le code source qui figure dans le fichier sur le serveur. Si vous jetez un coup d'oeil au code source dans votre butineur, vous ne verrez que le code HTML généré par Sysquake Remote.
<?sqr % reprend les points transmis dans l'URL sous forme de variable "x" try x = str2obj(httpvars.x); if size(x, 1) < 3 || size(x, 2) ~= 2 % détection des erreurs % (cela n'aurait de toute façon pas de conséquence sur la sécurité) error invalide end catch x = -5 + 10 * rand(3, 2); end % lit la position du clic de souris % (géré automatiquement dans les figures 'interactive' ou 'forminput') click = getclick; if isfield(click, 'x') x(end+1, :) = [click.x, click.y]; end % réduit la précision pour raccourcir l'URL x = 1e-3 * round(1e3 * x); % calcul M1 = mean(x, 1).'; M2 = cov(x); phi = 2 * pi * (0:0.01:1); crcle = [cos(phi); sin(phi)]; ell = sqrtm(M2) * crcle + repmat(M1, 1, size(crcle, 2)); fprintf('<form method="get">'); fprintf('<input type="hidden" name="x" value="%s">', ... htmlspecialchars(dumpvar(x))); beginfigure('kind', 'forminput'); scale('equal', [-10, 10, -10, 10]); plot(ell(1,:), ell(2,:), 'b'); plot(x(:,1), x(:,2), 'xK'); endfigure; fprintf('</form>'); ?>