Aller au contenu

Mathc initiation/a120

Un livre de Wikilivres.


Sommaire


Installer ce fichier dans votre répertoire de travail.


kg_curv2d.h
/* --------------------------------- */
/* save as kg_curv2d.h               */
/* --------------------------------- */
void G_Curve_2d(
CTRL_splot w,
double (*P_f)(double t),
double (*P_g)(double t),
tvalue t
)
{
FILE   *fp = fopen("a_main.plt","w");

fprintf(fp," reset\n"
           " set zeroaxis lt 8\n" 
           " set grid\n\n" 
           " plot [%0.3f:%0.3f] [%0.3f:%0.3f]\\\n" 
           " \"a_curve\"     with linespoints lt  6,\\\n" 
           " \"a_vector\"    with linespoints lt 16 lw 3,\\\n" 
           " \"a_velocity\"  with linespoints lt  7 lw 3,\\\n" 
           " \"accelerator\" with linespoints lt  9 lw 3",
             w.xmin,w.xmax,w.ymin,w.ymax);
fclose(fp);

 fp = fopen("a_vector","w");
      fprintf(fp,"  0  0   \n %6.5f  %6.5f  \n",
             (*P_f)(t.value),(*P_g)(t.value));
 fclose(fp);
 
 fp = fopen("a_velocity","w");
      fprintf(fp,"  %6.5f  %6.5f \n  %6.5f  %6.5f \n",
             (*P_f)(t.value),
             (*P_g)(t.value),
             (*P_f)(t.value)+fx_x((*P_f),t.value,H),
             (*P_g)(t.value)+fx_x((*P_g),t.value,H) );
 fclose(fp);
 
 fp = fopen("accelerator","w");
      fprintf(fp,"  %6.5f  %6.5f \n  %6.5f  %6.5f \n",
             (*P_f)(t.value),
             (*P_g)(t.value),
             (*P_f)(t.value)+fx_xx((*P_f),t.value,H),
             (*P_g)(t.value)+fx_xx((*P_g),t.value,H) );
 fclose(fp);
   
 fp = fopen("a_curve","w");
      for(t.value=t.min; t.value<=t.max+t.step; t.value+=t.step)
          fprintf(fp," %6.3f  %6.3f\n",(*P_f)(t.value),(*P_g)(t.value));
 fclose(fp);
}
/* --------------------------------- */
/* --------------------------------- */