« Mathc gnuplot/Application : Tangente de f(x,y) » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 12 :
= Présentation =
 
* Un exemple à tester (n'oubliez pas les fichiers *.h)
* '''N'oubliez pas les fichiers *.h partagés et ceux de ce chapitre.'''
 
 
Ligne 68 ⟶ 69 :
 
 
== Les fichiers h partagésde ce chapitre ==
 
=== Appel des fichiers standards ===
Ligne 83 ⟶ 84 :
#include <string.h>
/* ------------------------------------ */
#include "xa_defxdef.h"
#include "xa_strctxspv.h"
#include "kfxyxplt.h"
#include "xfxy_x.h"
/* ------------------------------------ */
#include "kg_3d.h"
</source>
 
 
=== Les defines ===
 
<source lang="c">
/* ------------------------------------ */
/* Save as : xa_def.h */
/* ------------------------------------ */
#ifndef PI
#define PI 3.14159265359
#endif
/* ------------------------------------ */
void clrscrn(void)
{
printf("\n\n\n\n\n\n\n\n\n\n\n"
"\n\n\n\n\n\n\n\n\n\n\n"
"\n\n\n\n\n\n\n\n\n\n\n");
}
/* ------------------------------------ */
void Pause(void)
{
int i=300;
int j;
 
while(--i){j=600000;while(--j);} }
</source>
 
 
=== Déclaration et initialisation des structures ===
 
<source lang="c">
/* ------------------------------------ */
/* Save as : xa_strct.h */
/* ------------------------------------ */
typedef struct
{
double xmini;
double xmaxi;
double ymini;
double ymaxi;
 
}W_Ctrl, *PW_Ctrl;
/* ------------------------------------ */
W_Ctrl i_WGnuplot(
double xmini,
double xmaxi,
double ymini,
double ymaxi
)
{
W_Ctrl w = {xmini,xmaxi,ymini,ymaxi};
 
return (w);
}
/* ------------------------------------ */
typedef struct
{
double rot_x;
double rot_z;
double scale;
double scale_z;
 
}View_Ctrl, *PView_Ctrl;
/* ------------------------------------ */
View_Ctrl i_VGnuplot(
double rot_x,
double rot_z,
double scale,
double scale_z
)
{
View_Ctrl V = {rot_x,rot_z,scale_z,scale_z};
 
return (V);
}
/* ------------------------------------ */
typedef struct
{
double x;
double y;
 
}point2d, *Ppoint2d;
/* ------------------------------------ */
point2d i_point2d(
double a,
double b
)
{
point2d p = {a,b};
 
return (p);
}
</source>
 
Ligne 196 ⟶ 106 :
}
char feq[] = "9-x**2-y**2";
</source>
 
 
=== Dérivée partielle par rapport à y ===
 
<source lang="c">
/* ------------------------------------ */
/* Save as : kfxy.h */
/* ------------------------------------ */
double fxy_y(
double (*P_f)(double x, double y),
double h,
point2d p
)
{
double tplsh;
double tmnsh;
 
tplsh = ((*P_f)(p.x,p.y+h));
tmnsh = ((*P_f)(p.x,p.y-h));
 
return(( tplsh-tmnsh)/(2.*h) );
}
</source>