2010-08-11 2 views
10

Ist es möglich, ein Diagramm in Matlab zu erstellen, das die Protokolle der Werte nicht tatsächlich nimmt? Ich zeichne breite Wertebereiche auf, und wenn ich versuche, einen Log-Plot von ihnen zu erstellen, werden diejenigen unter 1 negativ. Ich möchte nur die Werte auf einer logarithmischen Skala darstellen, ohne ihre Logs zu nehmen.So erstellen Sie ein Protokolldiagramm in Matlab

Antwort

15

Ja, es ist möglich. Verwenden Sie the loglog command.

Das Beispiel aus der Mathworks Website:

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

enter image description here

Wenn Sie nicht wollen, beide Achsen Maßstab sein einzuloggen, semilogx or semilogy verwenden.

1

Also, wollen Sie Liner Daten auf logarithmischen Achsen zeichnen? Sie können Ihre Werte potenzieren, bevor Sie das Protokolldiagramm verwenden. Auf diese Weise wird der Punkt p = (10,3) an der Position x = 10 aufgetragen.

20

Alternativ können Sie (gca, 'XScale', 'log') einstellen, wenn Sie Ihre Plot bereits haben.