home *** CD-ROM | disk | FTP | other *** search
- #include "gfunc.h"
- #include <stdio.h>
- #include <math.h>
-
- void main()
-
- {
- int err0,err1,i;
- double x0,step,x[100],y[3][100];
-
- /***************************************************
- *Zeichnen der Funktion y = e^x exakt und angenΣhert
- ***************************************************/
-
- step = 1.0/100.0;
- x0 = 0.0;
- for (i=0;i<100;i++) /* Stⁿtzpunkte berechnen */
- {
- x[i] = x0;
- y[0][i] = exp(x0);
- y[1][i] = 1.0+x0; /* Potenzreihe 1 Glied */
- y[2][i] = y[1][i]+x0*x0/2.0; /* Potenzreihe 2 Glieder */
- x0 += step;
- }
-
-
- err0 = initialize(0,0); /* Initialisierung */
- if (err0 == 0)
- {
- frame(300.0,210.0); /* Rahmen definieren */
- picture(150.0,140.0,40.0,30.0); /* Bildbereich definieren */
- err1 = mkwind(); /* Fenster ÷ffnen */
- if (err1 != 0) exit(-1);
- region(0.0,1.0,1.0,3.0); /* Wertebereich festlegen */
-
- /* Nach Aufruf von region ist das Koordinatensystem "region" eingestellt */
-
-
- /* Ma▀stab fⁿr Achsen, Achsen,Ticks,Beschriftung */
-
- setfmt(1,2); /* 1 Dezimalstelle x-Achse */
- /* 2 Dezimalstellen y-Axhse */
- linax("XL",1,3.0,0.2,1);
- linax("XU",-1,3.0,0.2,0);
- linax("XL",1,2.0,0.05,0);
- linax("XU",-1,2.0,0.05,0);
- linax("YL",1,3.0,0.25,1);
- linax("YU",-1,3.0,0.25,0);
- linax("YL",1,1.5,0.125,0);
-
- /* Kurven interpolieren und zeichnen */
-
- srcurve(100,x,&y[0][0]);
- setdash(2); /* Strichlierung */
- setpen(6);
- srcurve(100,x,&y[1][0]);
- setdash(2); /* Strichlierung */
- srcurve(100,x,&y[2][0]);
-
- /* Texte schreiben */
-
- setpen(8);
- setmode("PIC"); /* Koordinatensystem "picture" anwΣhlen */
- setfont("ruby.font",15);
- htext(75.0,150.0,"MB","Beispiel 1: Exponentialfunktion");
- setpen(5);
- htext(40.0,75.0,"LM","y = exp(x)");
- htext(75.0,-20.0,"LB","x");
- htext(-25.0,70.0,"RM","y");
- setfont("topaz.font",8);
- htext(160.0,100.0,"LB","durchgezogen: exakt");
- htext(160.0,85.0,"LB","gestrichelt: angenΣhert");
- finish(); /* !!WICHTIG!! */
- }
- else printf("initialize failed with error number %d\n",err0);
- }
-