Mathc initiation/Fichiers c : c38cb
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