Notizia:
  • Rilasciata Precise Pangolin 12.04. Per ottenerla, visitate questa pagina, oppure provate il tour dal vivo con un browser web moderno.
  • Nuovo forum di Ubuntu-it, l'annuncio. È consigliato aggiornare il proprio profilo e controllare la sezione Gruppo Forum per problemi noti.
  • Rilasciata la versione italiana di Precise Pangolin 12.04. Per maggiori informazioni, consultare questa discussione.
  • Il vincitore del Concorso desktop del mese di aprile è Jerico. L'elenco dei precedenti vincitori è qui.
  • È uscito il numero 17 della Newsletter italiana di Ubuntu. Lo trovate a questo indirizzo.
  • È uscito il numero 59 di Full Circle Magazine in italiano. Lo trovate a questo indirizzo.

[c]utilizzare gnuplot [RISOLTO]

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

[c]utilizzare gnuplot [RISOLTO]

Messaggioda cristian_c » domenica 30 novembre 2008, 13:04

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?
Ultima modifica di cristian_c il sabato 24 aprile 2010, 22:48, modificato 1 volta in totale.
UP! Unreal Project(la resurrezione), il futuro inizia qui | Post dell'anno!
Your questions are not dumb. The way to learn is to ask questions. Not asking is dumb
Avatar utente
cristian_c
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14093
Iscrizione: ottobre 2007

Re: [c]utilizzare gnuplot

Messaggioda faustomr » domenica 30 novembre 2008, 23:13

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?
Avatar utente
faustomr
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 733
Iscrizione: marzo 2008

Re: [c]utilizzare gnuplot

Messaggioda cristian_c » lunedì 1 dicembre 2008, 0:06

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.
UP! Unreal Project(la resurrezione), il futuro inizia qui | Post dell'anno!
Your questions are not dumb. The way to learn is to ask questions. Not asking is dumb
Avatar utente
cristian_c
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14093
Iscrizione: ottobre 2007

Re: [c]utilizzare gnuplot

Messaggioda faustomr » lunedì 1 dicembre 2008, 17:13

Se è in fortran ok, posso dargli un'occhiata. Se è in C invece, purtroppo non conosco questo linguaggio.
Avatar utente
faustomr
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 733
Iscrizione: marzo 2008

Re: [c]utilizzare gnuplot

Messaggioda cristian_c » lunedì 1 dicembre 2008, 17:16

purtroppo è in c. Ti ringrazio comunque, ciao!  :D
UP! Unreal Project(la resurrezione), il futuro inizia qui | Post dell'anno!
Your questions are not dumb. The way to learn is to ask questions. Not asking is dumb
Avatar utente
cristian_c
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14093
Iscrizione: ottobre 2007

Re: [c]utilizzare gnuplot

Messaggioda faustomr » lunedì 1 dicembre 2008, 17:30

cristian_c ha scritto:purtroppo è in c. Ti ringrazio comunque, ciao!  :D


Mi dispiace.. Si programma troppo poco in fortran  :o
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
Avatar utente
faustomr
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 733
Iscrizione: marzo 2008

Re: [c]utilizzare gnuplot

Messaggioda cristian_c » lunedì 1 dicembre 2008, 19:34

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.  :)
UP! Unreal Project(la resurrezione), il futuro inizia qui | Post dell'anno!
Your questions are not dumb. The way to learn is to ask questions. Not asking is dumb
Avatar utente
cristian_c
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14093
Iscrizione: ottobre 2007

Re: [c]utilizzare gnuplot

Messaggioda faustomr » lunedì 1 dicembre 2008, 20:44

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..
Avatar utente
faustomr
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 733
Iscrizione: marzo 2008

Re: [c]utilizzare gnuplot

Messaggioda cristian_c » sabato 6 dicembre 2008, 10:10

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?  ???
UP! Unreal Project(la resurrezione), il futuro inizia qui | Post dell'anno!
Your questions are not dumb. The way to learn is to ask questions. Not asking is dumb
Avatar utente
cristian_c
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14093
Iscrizione: ottobre 2007

Re: [c]utilizzare gnuplot

Messaggioda moretto11 » sabato 6 dicembre 2008, 22:15

per chiamare gnuplot dal tuo programma devi usare la funzione system("gnuplot //cio che devi fare con gnuplot//");
Avatar utente
moretto11
Prode Principiante
 
Messaggi: 217
Iscrizione: aprile 2007

Re: [c]utilizzare gnuplot

Messaggioda cristian_c » sabato 6 dicembre 2008, 23:25

Grazie molte moretto,  :D
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)
UP! Unreal Project(la resurrezione), il futuro inizia qui | Post dell'anno!
Your questions are not dumb. The way to learn is to ask questions. Not asking is dumb
Avatar utente
cristian_c
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14093
Iscrizione: ottobre 2007

Re: [c]utilizzare gnuplot

Messaggioda cristian_c » lunedì 5 gennaio 2009, 23:47

ciao,
ho realizzato l'implementazione, ma non funziona  :(
Ecco il sorgente:
Codice: Seleziona tutto
#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: Seleziona tutto
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?
::) ??? :-\
UP! Unreal Project(la resurrezione), il futuro inizia qui | Post dell'anno!
Your questions are not dumb. The way to learn is to ask questions. Not asking is dumb
Avatar utente
cristian_c
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14093
Iscrizione: ottobre 2007

Re: [c]utilizzare gnuplot

Messaggioda cristian_c » giovedì 15 gennaio 2009, 22:43

se modifico l'ultima istruzione così:
Codice: Seleziona tutto
system("gnuplot plot 'x**(1/n)'")

ricevo in output:
Codice: Seleziona tutto
Cannot open load file 'plot'
line 0: util.c: No such file or directory


Avete un suggerimento perchè funzioni?

E poi sarebbe bello sapere come integrare gnuplot nel programma. Cioè se io voglio che appaia e rimanga fissa la finestra di gnuplot come posso fare?
::)
UP! Unreal Project(la resurrezione), il futuro inizia qui | Post dell'anno!
Your questions are not dumb. The way to learn is to ask questions. Not asking is dumb
Avatar utente
cristian_c
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14093
Iscrizione: ottobre 2007

Re: [c]utilizzare gnuplot

Messaggioda Zoff » venerdì 16 gennaio 2009, 11:18

cristian_c ha scritto:se modifico l'ultima istruzione così:
Codice: Seleziona tutto
system("gnuplot plot 'x**(1/n)'")

ricevo in output:
Codice: Seleziona tutto
Cannot open load file 'plot'
line 0: util.c: No such file or directory


Avete un suggerimento perchè funzioni?

E poi sarebbe bello sapere come integrare gnuplot nel programma. Cioè se io voglio che appaia e rimanga fissa la finestra di gnuplot come posso fare?
::)

controlla bene nel manuale... Quel comando in realtà non funziona neanche nel terminale...
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
 
Messaggi: 24435
Iscrizione: ottobre 2007
Località: Romagna!!!
Distribuzione: Ubuntu 12.04
Desktop: Unity e Gnome Shell

Re: [c]utilizzare gnuplot

Messaggioda cristian_c » sabato 17 gennaio 2009, 16:33

ciao, zoff, hai fatto un grosso errore a rispondere al topic. Adesso ti perseguiterà per il resto dei tuoi giorni!  :P (scherzo  :D )

controlla bene nel manuale... Quel comando in realtà non funziona neanche nel terminale...

è vero!  (yes) Ho provato. Chissà come mai...  ::)

Eppure nel manuale è scritto:
plot f(x)

Notiamo per inciso che per tracciare il grafico di una funzione, gnuplot ci sonsente di utilizzare
una sintassi pi` semplificata, ` infatti possibile evitare di definire preventivamente una funzione
e di scriverne la formula dopo il comando splot.
UP! Unreal Project(la resurrezione), il futuro inizia qui | Post dell'anno!
Your questions are not dumb. The way to learn is to ask questions. Not asking is dumb
Avatar utente
cristian_c
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14093
Iscrizione: ottobre 2007

Re: [c]utilizzare gnuplot

Messaggioda Zoff » sabato 17 gennaio 2009, 19:17

cristian_c ha scritto:ciao, zoff, hai fatto un grosso errore a rispondere al topic. Adesso ti perseguiterà per il resto dei tuoi giorni!  :P (scherzo  :D )

controlla bene nel manuale... Quel comando in realtà non funziona neanche nel terminale...

è vero!  (yes) Ho provato. Chissà come mai...  ::)

Eppure nel manuale è scritto:
plot f(x)

Notiamo per inciso che per tracciare il grafico di una funzione, gnuplot ci sonsente di utilizzare
una sintassi pi` semplificata, ` infatti possibile evitare di definire preventivamente una funzione
e di scriverne la formula dopo il comando splot.


Infatit il manuale è corretto...
Devi prima avviare una sessione gnuplot e poi dare quel comando:
Codice: Seleziona tutto
root@root# gnuplot
gnuplot> plot x**2
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
 
Messaggi: 24435
Iscrizione: ottobre 2007
Località: Romagna!!!
Distribuzione: Ubuntu 12.04
Desktop: Unity e Gnome Shell

Re: [c]utilizzare gnuplot

Messaggioda cristian_c » sabato 17 gennaio 2009, 19:31

Zoff ha scritto:Infatit il manuale è corretto...
Devi prima avviare una sessione gnuplot e poi dare quel comando:
Codice: Seleziona tutto
root@root# gnuplot
gnuplot> plot x**2


e come faccio allora con la funzione system?  ::)
UP! Unreal Project(la resurrezione), il futuro inizia qui | Post dell'anno!
Your questions are not dumb. The way to learn is to ask questions. Not asking is dumb
Avatar utente
cristian_c
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14093
Iscrizione: ottobre 2007

Re: [c]utilizzare gnuplot

Messaggioda Zoff » sabato 17 gennaio 2009, 19:37

cristian_c ha scritto:
Zoff ha scritto:Infatit il manuale è corretto...
Devi prima avviare una sessione gnuplot e poi dare quel comando:
Codice: Seleziona tutto
root@root# gnuplot
gnuplot> plot x**2


e come faccio allora con la funzione system?  ::)

eh bella domanda...
Dicevo di leggere il manuale proprio per quello...
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
 
Messaggi: 24435
Iscrizione: ottobre 2007
Località: Romagna!!!
Distribuzione: Ubuntu 12.04
Desktop: Unity e Gnome Shell

Re: [c]utilizzare gnuplot

Messaggioda cristian_c » sabato 17 gennaio 2009, 20:17

Dicevo di leggere il manuale proprio per quello...

ma stai parlando del manuale di gnuplot?  ::)
Perche se è così, non si trova chiaramente nulla su system, in quanto essa è una funzione del c  ;)
UP! Unreal Project(la resurrezione), il futuro inizia qui | Post dell'anno!
Your questions are not dumb. The way to learn is to ask questions. Not asking is dumb
Avatar utente
cristian_c
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14093
Iscrizione: ottobre 2007

Re: [c]utilizzare gnuplot

Messaggioda Zoff » sabato 17 gennaio 2009, 20:19

cristian_c ha scritto:
Dicevo di leggere il manuale proprio per quello...

ma stai parlando del manuale di gnuplot?  ::)
Perche se è così, non si trova chiaramente nulla su system, in quanto essa è una funzione del c  ;)

sto parlando di quello perché "in teoria" dovrebbe spiegare anche come usarlo inline senza aprire una sessione...
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
 
Messaggi: 24435
Iscrizione: ottobre 2007
Località: Romagna!!!
Distribuzione: Ubuntu 12.04
Desktop: Unity e Gnome Shell

Successiva

Torna a Programmazione

Chi c’è in linea

Visualizzano questa pagina: lucalaugh, Zoff e 2 ospiti