|
cristian_c
|
 |
« inserita: 30 Novembre, 2008, 12:04:15 » |
|
ciao, volevo utilizzare gnuplot in un programma che ho scritto per poter disegnare il grafico della radice con indice intero. ho installato il programma con synaptic. Ma ora non so come andare avanti. Mi potete aiutare?
|
|
|
|
|
Registrato
|
UP! Unreal Project( la resurrezione), il futuro inizia quiJabber: cristian_c@jabber.org Basta topic Gnome vs Kde, oppure Ubuntu vs Kubuntu, ecc..."semplicemente mi rifiuto di aiutare chi non ti ascolta e poi si lamenta che le cose non vanno." (Cit. toro89)
|
|
|
faustomr
Jr. Member

Non Connesso
Messaggi: 187
Media messaggi
|
 |
« Risposta #1 inserita: 30 Novembre, 2008, 22:13:35 » |
|
Ciao. Dunque, la mia situazione è la seguente: uso gnuplot per un programma non scritto da me, uso xmgrace per programmi scritti da me. Cosa ti serve sapere di preciso?
|
|
|
|
|
Registrato
|
|
|
|
|
cristian_c
|
 |
« Risposta #2 inserita: 30 Novembre, 2008, 23:06:27 » |
|
vorrei chiamare in causa gnuplot nel mio programma per chiamarlo e disegnare il grafico della radice. Se vuoi posto il codice del programma se puo essere utile.
|
|
|
|
|
Registrato
|
UP! Unreal Project( la resurrezione), il futuro inizia quiJabber: cristian_c@jabber.org Basta topic Gnome vs Kde, oppure Ubuntu vs Kubuntu, ecc..."semplicemente mi rifiuto di aiutare chi non ti ascolta e poi si lamenta che le cose non vanno." (Cit. toro89)
|
|
|
faustomr
Jr. Member

Non Connesso
Messaggi: 187
Media messaggi
|
 |
« Risposta #3 inserita: 01 Dicembre, 2008, 16:13:13 » |
|
Se è in fortran ok, posso dargli un'occhiata. Se è in C invece, purtroppo non conosco questo linguaggio.
|
|
|
|
|
Registrato
|
|
|
|
|
cristian_c
|
 |
« Risposta #4 inserita: 01 Dicembre, 2008, 16:16:32 » |
|
purtroppo è in c. Ti ringrazio comunque, ciao! 
|
|
|
|
|
Registrato
|
UP! Unreal Project( la resurrezione), il futuro inizia quiJabber: cristian_c@jabber.org Basta topic Gnome vs Kde, oppure Ubuntu vs Kubuntu, ecc..."semplicemente mi rifiuto di aiutare chi non ti ascolta e poi si lamenta che le cose non vanno." (Cit. toro89)
|
|
|
faustomr
Jr. Member

Non Connesso
Messaggi: 187
Media messaggi
|
 |
« Risposta #5 inserita: 01 Dicembre, 2008, 16:30:52 » |
|
purtroppo è in c. Ti ringrazio comunque, ciao!  Mi dispiace.. Si programma troppo poco in fortran  Comunque, credo che tu possa far scrivere i tuoi valori in un file, e dire e gnuplot di leggere il file. In ogni caso, in rete puoi trovare la guida di gnuplot. Per farti un'idea, invece, un "man gnuplot" è più che sufficiente. Ciao
|
|
|
|
|
Registrato
|
|
|
|
|
cristian_c
|
 |
« Risposta #6 inserita: 01 Dicembre, 2008, 18:34:52 » |
|
ciao, ho letto la pagina del man fino in fondo, ma ancora non ho capito come usare il programma in un sorgente c  Purtroppo non sono mai stato alle prese con una cosa di questo genere. Spero che mi scusi. 
|
|
|
|
|
Registrato
|
UP! Unreal Project( la resurrezione), il futuro inizia quiJabber: cristian_c@jabber.org Basta topic Gnome vs Kde, oppure Ubuntu vs Kubuntu, ecc..."semplicemente mi rifiuto di aiutare chi non ti ascolta e poi si lamenta che le cose non vanno." (Cit. toro89)
|
|
|
faustomr
Jr. Member

Non Connesso
Messaggi: 187
Media messaggi
|
 |
« Risposta #7 inserita: 01 Dicembre, 2008, 19:44:08 » |
|
Scherzi? Scusami tu se non ti sono di aiuto! Mi sono appena accorto che il man di gnuplot non è proprio utile e il --help non funziona.. In ufficio uso opensuse e il man di gnuplot è esaustivo. Se conosci qualcuno che usa opensuse puoi chiedere di installare gnuplot e..non so..stampare il man..
|
|
|
|
|
Registrato
|
|
|
|
|
cristian_c
|
 |
« Risposta #8 inserita: 06 Dicembre, 2008, 09:10:47 » |
|
nelle faq di gnuplot si fa riferimento a questo: 5.2 Can I use gnuplot routines for my own programs? On systems supporting pipes, you can pipe commands to gnuplot from other programs. Many applications with gnuplot as the graphics engine, like Octave ( http://www.octave.org), uses this method. This also works from a cgi script to drive gnuplot from a forms-based web page. John Campbell ( jdc@nauvax.ucc.nau.edu) modified a much earlier version of gnuplot (3.5) to be a library of C subroutines callable from a C program. Gnuplot itself has changed radically since then, and we are not aware of any plans to create a similar library based on the current version. come si fa ad attuare quello che è scritto qui sopra? 
|
|
|
|
|
Registrato
|
UP! Unreal Project( la resurrezione), il futuro inizia quiJabber: cristian_c@jabber.org Basta topic Gnome vs Kde, oppure Ubuntu vs Kubuntu, ecc..."semplicemente mi rifiuto di aiutare chi non ti ascolta e poi si lamenta che le cose non vanno." (Cit. toro89)
|
|
|
|
moretto11
|
 |
« Risposta #9 inserita: 06 Dicembre, 2008, 21:15:26 » |
|
per chiamare gnuplot dal tuo programma devi usare la funzione system("gnuplot //cio che devi fare con gnuplot//");
|
|
|
|
|
Registrato
|
|
|
|
|
cristian_c
|
 |
« Risposta #10 inserita: 06 Dicembre, 2008, 22:25:44 » |
|
Grazie molte moretto,  la funzione "system" è inclusa in stdio.h oppure occorre includere qualche altro file header? E poi volevo chiedere se al posto di "//cio che devi fare con gnuplot//" devo digitare i comandi del programma gnuplot Intanto ti ringrazio ancora. È stato fatto un bel passo avanti 
|
|
|
|
|
Registrato
|
UP! Unreal Project( la resurrezione), il futuro inizia quiJabber: cristian_c@jabber.org Basta topic Gnome vs Kde, oppure Ubuntu vs Kubuntu, ecc..."semplicemente mi rifiuto di aiutare chi non ti ascolta e poi si lamenta che le cose non vanno." (Cit. toro89)
|
|
|
|
cristian_c
|
 |
« Risposta #11 inserita: 05 Gennaio, 2009, 22:47:06 » |
|
ciao, ho realizzato l'implementazione, ma non funziona  Ecco il sorgente: #include <stdio.h> #include <math.h>
#define ERR 0.00001
main() { char *indice[]={"quadrata","cubica","quarta","quinta","sesta","settima","ottava","nona","decima"}; float a,b,m,x; float fm,pot; int n,i,res; printf("\n// il programma calcola la radice\n// di un qualunque numero reale scelto dall'utente\n// con indice intero immesso da tastiera\n\n"); do { printf("Inserire un indice valido per la radice(un numero intero da 1 a 10): "); res=scanf("%d",&n); while(getc(stdin)!='\n'); } while((n<1 || n>10) && (res==0)); do { printf("Inserire un valore reale di cui calcolare la radice: "); res=scanf("%f",&x); while(getc(stdin)!='\n'); } while(res==0); if (n%2==0 && x<0) printf("\nil valore inserito non è valido poichè non fa parte dell'insieme di definizione della radice\n"); else if (n==1) printf("\nla radice prima di %g è %g\n",x,x); else if (x==1) printf("\nla radice %s di 1 è 1\n\n",indice[n-2]); else { if (x>1) { a=1; b=x; } else if (x<-1) { a=x; b=-1; } else { a=-1; b=1; } do { m=(a+b)/2; pot=m; for(i=1;i<n;i++) pot*=m; fm=pot-x; if (fm!=0) { if (fm>0) b=m; else a=m; } } while (fabs(fm)>ERR); printf("\nla radice %s di %g è %g\n\n",indice[n-2],x,m); } if (1 <= n < 11) system("gnuplot plot x**(1/n)"); }
ed ecco l'output: cristiancozzolino@cristiancozzolino-laptop:~/programmazione$ ./radice // il programma calcola la radice // di un qualunque numero reale scelto dall'utente // con indice intero immesso da tastiera
Inserire un indice valido per la radice(un numero intero da 1 a 10): 3 Inserire un valore reale di cui calcolare la radice: 45
la radice cubica di 45 è 3.55689
sh: Syntax error: "(" unexpected cristiancozzolino@cristiancozzolino-laptop:~/programmazione$
mi sapete spiegare come mai non funziona? 
|
|
|
|
|
Registrato
|
UP! Unreal Project( la resurrezione), il futuro inizia quiJabber: cristian_c@jabber.org Basta topic Gnome vs Kde, oppure Ubuntu vs Kubuntu, ecc..."semplicemente mi rifiuto di aiutare chi non ti ascolta e poi si lamenta che le cose non vanno." (Cit. toro89)
|
|
|
|