Aller au contenu

Mathc initiation/Fichiers c : c38ca

Un livre de Wikilivres.


Sommaire


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

c05a.c
/* ---------------------------------- */
/* save as c05a.c                     */
/* ---------------------------------- */
#include "x_hfile.h"
#include      "fa.h"
/* ---------------------------------- */
int main(void)
{
double    a =  0.2;
double    b =  0.8;
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 [0.200,0.800].


 g : x-> sqrt(x)

 h : x-> x**2

 Press return to continue.


Copier ce code dans gnuplot :

 set zeroaxis lt 8
 set grid
 set object rect from 0.5,(0.5*0.5) to 0.52,sqrt(0.52)
 plot [ 0.2:0.8] [0.000:1.000] sqrt(x), (x*x)
 reset


Exemple de sortie écran :

 Draw a typical vertical rectangle on a graph.

 Upper boundary  (g)            :   sqrt(x)              
 lower boundary  (h)            :   x**2            

 The length of the rectangle is :  (sqrt(x)) - (x**2)      
 The width  of the rectangle is :    dx           

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




 Press return to continue.


Exemple de sortie écran :

If we apply 


    (0.800
 int(      
    (0.200


 to  : ((sqrt(x)) - (x**2)) * dx

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


    (0.800
 int(     [(sqrt(x)) - (x**2)] dx = 0.24940
    (0.200


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

I = quad (f, a, b) 
>>  I = quad (@(x) (sqrt(x)-(x.*x)), 0.2,0.8)
I =  0.24940