2010-08-11 7 views
10

Est-il possible de créer un graphe dans matlab qui ne prend pas réellement les logs des valeurs? Je suis en train de tracer de larges plages de valeurs et quand j'essaie de faire un tracé de log de ceux-ci, ceux ci-dessous 1 deviennent négatifs. Je voudrais juste qu'il trace les valeurs sur une échelle de notation sans prendre leurs journaux.Comment faire un tracé de journal dans matlab

Répondre

15

Oui, c'est possible. Utilisez the loglog command.

L'exemple du site Mathworks:

x = logspace(-1,2); % generate a sequence of points equally spaced logarithmically 
loglog(x,exp(x),'-s') 
grid on 

enter image description here

Si vous ne voulez pas les deux axes à échelle logarithmique, utilisez semilogx or semilogy.

1

Donc, vous voulez tracer liner données sur logarithmiques axes? Vous pouvez exponentiate vos valeurs avant d'utiliser le tracé de journal. De cette façon, le point p = (10,3) tracera à la position x = 10.

20

Vous pouvez également définir (gca, 'XScale', 'log') si vous avez déjà votre tracé.

Questions connexes