Plot soll nicht bei 0 beginnen < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Hallo allerseits.
Ich möchte in Matlab verschiedene Datenpunkte in einer Graphik plotten lassen. Mein Quelltext dazu sieht folgendermaßen aus:
x=[0.0003 0.002 0.005 0.01 0.02 0.05];
y1=[0.6 2.1 1.0 -0.3 0.1 1.0];
y2=[4.3 1.1 -1.4 -1.3 -0.5 2.9];
y3=[13.4 2.7 1.2 -1.3 0.4 2.4];
plot(x,y1,'-+',x,y2,'-o',x,y3,'-*')
axis([0,0.05,-40,40]);
Mein Problem ist jetzt, dass für einen x-Wert von 0 auch ein Datenpunkt eingezeichnet wird. Meine Kurve soll aber erst bei 0.0003 beginnen. Kann mir jemand sagen, wie ich das in Matlab umsetzen kann?
Viele Grüße!
Ich habe diese Frage in keinem anderen Forum gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 15:48 Do 18.06.2009 | Autor: | Frasier |
Hallo ,
> Meine Kurve soll aber erst bei 0.0003 beginnen.
Das tut sie,
x=[0.0003 0.002 0.005 0.01 0.02 0.05];
y1=[0.6 2.1 1.0 -0.3 0.1 1.0];
y2=[4.3 1.1 -1.4 -1.3 -0.5 2.9];
y3=[13.4 2.7 1.2 -1.3 0.4 2.4];
plot(x,y1,'-+',x,y2,'-o',x,y3,'-*')
axis([0,0.01,-40,40]);
grid on;
nur kann man das schlecht erkennen.
lg
F.
|
|
|
|
|
Vielen Dank. Ich hatte es auch gerade gesehen, dass es an der unglücklichen Achseneinteilung liegt. Ich bin gerade auf der Suche, wie ich die x-Achse anders beschriften und skalieren kann. Am liebsten hätte ich nur die x-Werte aus meinem Vektor beschriftet und das ganze vielleicht noch etwas auseinandersgezogen. Geht das? Die Matlab-Hilfe unter axis hat mir nicht wirklich weitergeholfen.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 17:13 Do 18.06.2009 | Autor: | Frasier |
Hallo,
du kannst die xtick und xticklabel Eigenschaften zur Beschriftung benutzen.
Hier ein Beispiel dazu, man muss nur aufpassen, dass das ganze noch 'lesbar' bleibt.
x=[0.0003 0.002 0.005 0.01 0.02 0.05];
y1=[0.6 2.1 1.0 -0.3 0.1 1.0];
y2=[4.3 1.1 -1.4 -1.3 -0.5 2.9];
y3=[13.4 2.7 1.2 -1.3 0.4 2.4];
plot(x,y1,'-+',x,y2,'-o',x,y3,'-*')
semilogx(x,y1)
grid on;
figure;
x=0:7;
y1=[NaN 0.6 2.1 1.0 -0.3 0.1 1.0 NaN];
y2=[NaN 4.3 1.1 -1.4 -1.3 -0.5 2.9 NaN];
y3=[NaN 13.4 2.7 1.2 -1.3 0.4 2.4 NaN];
plot(x,y1,'-+',x,y2,'-o',x,y3,'-*')
set(gca,'xtick',x);
set(gca,'xticklabel',{'0' '0.0003' '0.002' '0.005' ...
'0.01' '0.02' '0.05' ''});
grid on;
Die Achseinteilung jetzt gaukelt einem ja gleiche x-Intervalle vor (die ja nicht vorliegen) und man könnte die Steigung falsch interpretieren.
Wäre eine logarithmische Auftragung eine Alternative (siehe semilogx)?
lg
F.
|
|
|
|
|
Super, vielen Dank. Damit kann ich gut weiterarbeiten!
|
|
|
|