Cambia tema in:  • Kubuntu  • Xubuntu  • Edubuntu  
07 Gennaio, 2009, 01:26:25 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia: È uscito il numero 1 della Newsletter italiana di Ubuntu! Lo trovate qui.  Buona lettura... e partecipate al sondaggio!
 
   Indice   Aiuto Regolamento Ricerca Agenda Accedi Registrati  

Guide
Programmazione
Wiki
Programmazione   •   Editor di Testo   •   Linguaggio Bash
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: [c]utilizzare gnuplot  (Letto 297 volte)
0 Utenti e 1 Utente non registrato stanno visualizzando questa discussione.
cristian_c
Hero Member
*****
Non Connesso Non Connesso

Messaggi: 2.035

Media messaggi


Mostra profilo
« 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 qui
Jabber: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 Non Connesso

Messaggi: 187

Media messaggi


Mostra profilo
« 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
Hero Member
*****
Non Connesso Non Connesso

Messaggi: 2035

Media messaggi


Mostra profilo
« 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 qui
Jabber: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 Non Connesso

Messaggi: 187

Media messaggi


Mostra profilo
« 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
Hero Member
*****
Non Connesso Non Connesso

Messaggi: 2035

Media messaggi


Mostra profilo
« Risposta #4 inserita: 01 Dicembre, 2008, 16:16:32 »

purtroppo è in c. Ti ringrazio comunque, ciao!  Cheesy
Registrato

UP! Unreal Project(la resurrezione), il futuro inizia qui
Jabber: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 Non Connesso

Messaggi: 187

Media messaggi


Mostra profilo
« Risposta #5 inserita: 01 Dicembre, 2008, 16:30:52 »

purtroppo è in c. Ti ringrazio comunque, ciao!  Cheesy

Mi dispiace.. Si programma troppo poco in fortran   Shocked
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
Hero Member
*****
Non Connesso Non Connesso

Messaggi: 2035

Media messaggi


Mostra profilo
« 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  Roll Eyes

Purtroppo non sono mai stato alle prese con una cosa di questo genere. Spero che mi scusi.  Smiley
Registrato

UP! Unreal Project(la resurrezione), il futuro inizia qui
Jabber: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 Non Connesso

Messaggi: 187

Media messaggi


Mostra profilo
« 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
Hero Member
*****
Non Connesso Non Connesso

Messaggi: 2035

Media messaggi


Mostra profilo
« Risposta #8 inserita: 06 Dicembre, 2008, 09:10:47 »

nelle faq di gnuplot si fa riferimento a questo:
Citazione
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?  Huh?
Registrato

UP! Unreal Project(la resurrezione), il futuro inizia qui
Jabber: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
Jr. Member
**
Non Connesso Non Connesso

Messaggi: 217

Media messaggi



Mostra profilo WWW
« 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
Hero Member
*****
Non Connesso Non Connesso

Messaggi: 2035

Media messaggi


Mostra profilo
« Risposta #10 inserita: 06 Dicembre, 2008, 22:25:44 »

Grazie molte moretto,  Cheesy
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  Good
Registrato

UP! Unreal Project(la resurrezione), il futuro inizia qui
Jabber: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
Hero Member
*****
Non Connesso Non Connesso

Messaggi: 2035

Media messaggi


Mostra profilo
« Risposta #11 inserita: 05 Gennaio, 2009, 22:47:06 »

ciao,
ho realizzato l'implementazione, ma non funziona  Sad
Ecco il sorgente:
Codice:
#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:
Codice:
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?
 Roll Eyes Huh? Undecided
Registrato

UP! Unreal Project(la resurrezione), il futuro inizia qui
Jabber: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)
Pagine: [1]   Vai su
  Stampa  
 
Vai a: