« Mathc gnuplot/Pointeurs de fonctions » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 9 :
 
* En langage C, le nom d'une fonction est un pointeur.
* On peut l'utiliser comme '''argument''' pourdans l'appel d'une fonction.
* Exemple : G_plot(f); (f() étant une fonction C)
 
Ligne 269 :
 
<source lang="c">
/* ------------------------------ */
/* Save as c05.c a,((*P_f)(a)));/
/* ------------------------------ */
#include <stdio.h>
Ligne 284 ⟶ 286 :
{
FILE *fp;
double a = -5.0;
char datafile[]="data";
double a;
 
if (!( fp = fopen(datafile"data","w")));
for(a = -5.0; a <= 5.0; a+=.2)
return 0;
fprintf(fp," %6.3f %6.3f\n",a,((*P_f)(a)));
for(a = -5.0; a <= 5.0; a+=.2)
fclose(fp);
fprintf(fp," %6.3f %6.3f\n",
a,((*P_f)(a)));
fclose(fp);
 
if (!( fp = fopen("a_main.plt","w")));
fprintf(fp," set zeroaxis\n"\
return 0;
fprintf(fp,"# Fichier de commande pour Gnuplot " plot \n"data\",\\\n"
"# En ligne de commande : load \"a_main.plt\"%s\n"\
"#\n\n reset"\,Feq);
fclose(fp);
" set zeroaxis\n"\
" plot \"%s\",\\\n"\
" %s\n"\
" reset",datafile,Feq);
fclose(fp);
 
return 0;
Ligne 310 ⟶ 305 :
int main(void)
{
printf("Pour dessiner f. Dans gnuplot: load \"a_main.plt\" with gnuplot ");
G_plot(f,feq);
getchar();
 
printf("Pour dessiner g. Dans gnuplot: load \"a_main.plt\" with gnuplot ");
G_plot(g,geq);
 
Ligne 322 ⟶ 317 :
return 0;
}
 
</source>
 
Ligne 327 ⟶ 323 :
Résultat après le premier appel de G_plot():
 
# Fichier de commande pour Gnuplot
# En ligne de commande : load "a_main.plt"
#
.
set zeroaxis
plot "data",\
Ligne 339 ⟶ 331 :
Résultat après le deuxième appel de G_plot():
 
# Fichier de commande pour Gnuplot
# En ligne de commande : load "a_main.plt"
#
.
set zeroaxis
plot "data",\