PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MetaPost



DaPhil
25-12-2006, 17:12
Ich habe angefangen mich mit MetaPost zu beschäftigen, habe aber ein Problem: Ich möchte eine Funktion zeichnen, z.B.: cos(x). Funktioniert, aber mein Koordinatensystem ist nicht richtig skaliert. Aber ich finde meinen Fehler nicht! Hier mein Code:

beginfig(1);
%Variablen, Globale Einstellungen
numeric u, h, w, x;
u=1cm;
h=2;
w=6;
x=100;
linecap:=mitered;

%Funktion
draw(0, 0) for i=0 upto (w*x): --((i/x),cosd(i))*u endfor withpen pencircle scaled 0.5pt;

%Koordinatensystem
drawdblarrow(0, (h*u)+0.5cm)--(0, 0)--((w*u)+0.5cm, 0);

%X-Achse
for i=0 upto w:
draw(i*u, 0)--(i*u, -0.1*u);
label.bot(decimal i, (i*u, -0.1*u));
endfor;

%Y-Achse
for i=0 upto h:
draw(0, i*u)--(-0.1*u, i*u);
label.lft(decimal i, (-0.1*u, i*u));
endfor;

%Beschriftung
label.lrt(btex $f(x)=cos(x)$ etex, (2, 2)*u);
label.bot(btex $x$ etex, (w*u+0.6cm, 0));
label.lft(btex $y$ etex, (0, h*u+0.6cm));
endfig;
end

Mit der Funktion exp(x) funktioniert das ebenfalls nicht, mit f(x)=x jedoch schon! Außerdem: Warum kommt in das Kosinusargument nicht (i/x), denn dann sieht das nicht mal nach cos aus...
Wäre schön wenn mir da jemand helfen kann!!! Danke