Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Sonstige Fragen » Gnuplot » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
kein_plan

Wünsche ich dir auch. Wink
eulerscheZahl

Ach so.
Ja, Visual Studio ist auch gut, verwende ich auch.
Da ich genauso wenig Lust habe, gnuplot in Visual Studio auszutesten, bleibt mir nur noch, dir einen schönen Abend zu wünschen smile
kein_plan

Ich hab ja Visual Studio als Entwicklungsumgebung.
Aber ich wollte trotzdem noch den GCC-Compiler haben, weil wir den an der Uni in der Vorlesung benutzen. Und manchmal zeigt Visual Studio Fehlermeldungen an, wo der GCC alles einwandfrei kompiliert. Und damit ich bei den Beispielprogrammen aus der Vorlesung keine Probleme habe, kompiliere ich die lieber mit GCC. Außerdem zeigt Visual Studio bei Gnuplot auch ganz viele Fehlermeldungen an. Kriegt man wahrscheinlich auch irgendwie weg, aber ist ja jetzt nicht mehr so wichtig.
eulerscheZahl

Gern geschehen.

Jetzt, da alles (außer cygwin) funktioniert wie gewünscht, noch ein Rat:
hol dir Code::Blocks. Das ist eine Entwicklungsumgebung, das heißt du kannst dort dein Programm schreiben und auch gleich kompilieren und ausführen (erspart die Eingabeaufforderung). Damit lässt sich Zeit sparen und bei Fehlern kann man auch gleich an die fehlerhafte Zeile hinspringen.
kein_plan

Die zweite Methode war eigentlich schon so im Programm. Da hab ich wohl aus Versehen ein getchar(); gelöscht.

Vielen, vielen Dank. Du hast mir wirklich sehr geholfen. Ich glaube, ohne deine Hilfe wär ich sonst noch verzweifelt. Gott
eulerscheZahl

Fehler gefunden, Speicher muss nach Eingabe geflusht werden:
entweder: (meines Wissens nur unter Windows)
code:
1:
2:
3:
    printf("Wenn Sie genug gesehen haben, druecken Sie bitte return.\n");
    fflush(stdin);
	getchar();

oder:
code:
1:
2:
3:
    printf("Wenn Sie genug gesehen haben, druecken Sie bitte return.\n");
    getchar();
	getchar();

Methode 2 hat den Nachteil, dass bei einem Leerzeichen nach Eingabe der oberen Grenze trotzdem sofort beendet wird.

Das Schließen des Plotfensters klappt nur mit der Leertaste und mit q.
eulerscheZahl

gcc <deineDatei>.c gnuplot_i.c
damit sollte das kompilieren klappen.
Ein Problem bleibt: das Plotfenster verschwindet nach einem Sekundenbruchteil schon wieder - mal schauen, was ich da machen kann.
kein_plan

Ich habe es hier heruntergeladen. Das ist die Seite von meinem Professor an der Uni:
www-ian.math.uni-magdeburg.de/home/grunau/additional.html
eulerscheZahl

Wo kann ich "gnuplot_i.h" herunterladen?
Habe es hierhin geschafft, finde aber keinen Downloadlink.
kein_plan

Hier ist der Code eines Programms, das die Exponentialfunktion zeichnen soll:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

#include "gnuplot_i.h"

#define STUETZSTELLENANZAHL    100

int main(void)
{    
    gnuplot_ctrl *bild;
    double x[(STUETZSTELLENANZAHL + 1)];
    double expo[(STUETZSTELLENANZAHL + 1)];
    double untergrenze, obergrenze, schrittweite;
    int i = 0;
    
    bild = gnuplot_init();
 
    printf("Dieses Programm visualisiert die Exponentialfunktion.\nGeben Sie bitte die linke Grenze ein: "); 
    scanf("%lf", &untergrenze);
    
    printf("Geben Sie nun bitte die rechte Grenze ein: "); 
    scanf("%lf", &obergrenze);
    
    schrittweite = (obergrenze - untergrenze)/(double)(STUETZSTELLENANZAHL);
	
	for(i=0; i<=STUETZSTELLENANZAHL; i++)
    {
        x[i] = untergrenze+(double)(i)*schrittweite;
		expo[i] = exp(x[i]);
    }
    
    gnuplot_plot_xy(bild, x, expo, (STUETZSTELLENANZAHL+1), "Exponentialfunktion");
    
    printf("Wenn Sie genug gesehen haben, druecken Sie bitte return.\n");
    getchar();
    gnuplot_close(bild);
    return(0);
}

Den Header gnuplot_i.h habe ich in den gleichen Ordner wie die C-Datei gelegt.

Die Fehlermeldungen bei cmd sahen so aus:

kein_plan hat dieses Bild (verkleinerte Version) angehängt:
Unbenannt.png

Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.