Mathc initiation/Fichiers c : c37cd

Un livre de Wikilivres.


Sommaire


Installer et compiler ces fichiers dans votre répertoire de travail.

c05d.c
/* ---------------------------------- */
/* save as c05d.c                     */
/* ---------------------------------- */
#include "x_hfile.h"
#include      "fd.h"
/* ---------------------------------- */
int main(void)
{
double   a =   0.;
double   b =   2.;
double   n = 2*5.;
 
 clrscrn();
 printf(" Verify with a software that f(x) >= 0 on [%.3f,%.3f]\n\n", a, b);
 printf(" f : x-> %s\n\n\n\n", feq);
 stop();

 clrscrn();
 printf(" Draw a typical vertical rectangle on the graph.\n\n\n\n");

 printf(" The length of the rectangle is :   %s       \n", feq);
 printf(" The width  of the rectangle is :    dx    \n\n"     );
 printf(" The Area   of the rectangle is :   (%s) * dx\n", feq);
 printf(" \n\n\n\n\n");
 stop();

 clrscrn();
 printf(" If we apply \n\n\n");
 printf("    (%.3f\n",     b);
 printf(" int(      \n");
 printf("    (%.3f\n\n\n", a);

 printf(" to  : (%s) * dx\n\n\n", feq);
 printf(" We obtain a limit of sums of areas of vertical rectangles.\n\n\n");

 printf("    (%.3f\n",     b);
 printf(" int(      (%s) * dx = %.5f\n", feq, simpson(f,a,b,n));
 printf("    (%.3f\n\n\n", a);

 stop();

 return 0;
}
/* ---------------------------------- */


Vous trouverez ci-dessous le code Gnuplot pour dessiner la fonction et un rectangle caractèristique. Ainsi que le code pour Octave pour vérifier le calcul.


Exemple de sortie écran :

 Verify with a software that f(x) >= 0 on [0.000,2.000]

 f : x-> x-2


Copier ce code dans gnuplot :

 set zeroaxis lt 8
 set grid
 set object rect from 1,(1-2) to 1.05,0)
 plot [ -0.0:2.0] [-2.000:1.000]  (x-2)
 reset


Exemple de sortie écran :

 Draw a typical vertical rectangle on the graph.



 The length of the rectangle is :   x-2       
 The width  of the rectangle is :    dx    

 The Area   of the rectangle is :   (x-2) * dx
 




 Press return to continue.


Exemple de sortie écran :

    (2.000
 int(      
    (0.000


 to  : (x-2) * dx


 We obtain a limit of sums of areas of vertical rectangles.


    (2.000
 int(      (x-2) * dx = -2.00000
    (0.000


 Press return to continue.
Vérifier le résultat avec Octave 5.2 :

I = quad (f, a, b) 
>> I = quad (@(x) (x-2), 0, 2)
I = -2