Aller au contenu

Mathc initiation/Fichiers c : c38cb

Un livre de Wikilivres.


Sommaire


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

c05b.c
/* ---------------------------------- */
/* save as c05b.c                     */
/* ---------------------------------- */
#include "x_hfile.h"
#include      "fb.h"
/* ---------------------------------- */
int main(void)
{
double    a =  1.0;
double    b =  2.0;
double    n =  2*5.;

 clrscrn();
 printf(" Verify with a software that g(x) >= h(x) on [%.3f,%.3f].\n\n\n", a, b);

 printf(" g : x-> %s\n\n", geq);
 printf(" h : x-> %s\n\n", heq);
 stop();

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

 printf(" Upper boundary  (g)            :   %s              \n",geq);
 printf(" lower boundary  (h)            :   %s            \n\n",heq);
 printf(" The length of the rectangle is :  (%s) - (%s)      \n",geq, heq);
 printf(" The width  of the rectangle is :    dx           \n\n");
 printf(" The Area   of the rectangle is : ((%s) - (%s)) * dx\n",geq, heq);
 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) - (%s)) * dx\n\n", geq, heq);
 printf(" We obtain a limit of sums of areas of vertical rectangles.\n\n\n");

 printf("    (%.3f\n", b);
 printf(" int(     [(%s) - (%s)] dx = %.5f\n", 
                             geq,heq,simpson(gminuh,a,b,n));
 printf("    (%.3f\n\n\n", a);
 stop();

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


Vous trouverez ci-dessous le code Gnuplot pour dessiner les fonctions 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 g(x) >= h(x) on [1.000,2.000].


 g : x-> exp(x)

 h : x-> log(x)

 Press return to continue.


Copier ce code dans gnuplot :

 set zeroaxis lt 8
 set grid
 set object rect from 1.5,log(1.5) to 1.55,exp(1.55)
 plot [  1.0:2.0] [0.000:8.000] (exp(x)), (log(x))
 reset


Exemple de sortie écran :

 Draw a typical vertical rectangle on a graph.

 Upper boundary  (g)            :   exp(x)              
 lower boundary  (h)            :   log(x)            

 The length of the rectangle is :  (exp(x)) - (log(x))      
 The width  of the rectangle is :    dx           

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




 Press return to continue.


Exemple de sortie écran :

 If we apply 


    (2.000
 int(      
    (1.000


 to  : ((exp(x)) - (log(x))) * dx

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


    (2.000
 int(     [(exp(x)) - (log(x))] dx = 4.28448
    (1.000


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

I = quad (f, a, b) 
>> I = quad (@(x) ((exp(x)) - (log(x))), 1.0,2.0)
I =  4.2845