Section courante

A propos

Section administrative du site

Dans le domaine scientifique, on assiste souvent à des cachoteries de la connaissance sur des choses aussi banale que la fréquence des vagues sur l'océan en fonction du nombre de vague. Heureusement des livres comme «Encyclopededia Universalis, Dictionnaire des Sciences de la Terre, pages 588-591, Houles et vagues, 1998, ISBN: 2-226-10094-6» éclaircissent ce genre de question et nous empêche de tomber directement au Moyen-Age. Vous trouverez la réponse que vous souhaitez, à l'aide du code source Pascal suivant :

  1. Program Wave;
  2.  
  3. Function Square(X:Real):Real;Begin
  4.  Square := X * X;
  5. End;
  6.  
  7. Function SquareRoot(X:Real):Real;
  8. Var
  9.  A,B,M,XN:Real;
  10. Begin
  11.  If X=0.0Then Begin
  12.   SquareRoot:=0.0;
  13.  End
  14.   Else
  15.  Begin
  16.   M:=1.0;
  17.   XN:=X;
  18.   If XN < 0.0 Then XN := -XN;
  19.   While XN>=2.0 do Begin
  20.    XN:=0.25*XN;
  21.    M:=2.0*M;
  22.   End;
  23.   While XN<0.5 do Begin
  24.    XN:=4.0*XN;
  25.    M:=0.5*M;
  26.   End;
  27.   A:=XN;
  28.   B:=1.0-XN;
  29.   Repeat
  30.    A:=A*(1.0+0.5*B);
  31.    B:=0.25*(3.0+B)*B*B;
  32.   Until B<1.0E-15;
  33.   SquareRoot:=A*M;
  34.  End;
  35. End;
  36.  
  37. Function Exp(X:Real):Real;
  38. Const
  39.  A0 = 0.05;
  40.  A1 = 6.9;
  41.  A2 = 205.8;
  42.  A3 = 42.0;
  43. Var
  44.  Y,Z:Real;
  45. Begin
  46.  Y := Square(X);
  47.  z := a2/(y + a3);
  48.  Z := A0*Y + X + A1 - Z;
  49.  Exp := 1.0 - 2.0 * X / Z;
  50. End;
  51.  
  52.  
  53. Function Tanh(A:Real):Real;Begin
  54.  Tanh:= -Exp(-A)/(Exp(A)+Exp(-A))*2.0+1.0;
  55. End;
  56.  
  57. Function DispersionWave(WaveNumber,Depth,Gravity:Real):Real;Begin
  58.  DispersionWave:=SquareRoot(WaveNumber*Gravity*Tanh(WaveNumber*Depth));
  59. End;
  60.  
  61. Var
  62.  W,WaveNumber:Real;
  63.  
  64. BEGIN
  65.  WriteLn('Nombre de vague Frequence de vague');
  66.  WaveNumber:=0.01;
  67.  While WaveNumber<2.0 do Begin
  68.   Write(WaveNumber:0:2,' ');
  69.   W:=DispersionWave(WaveNumber,2.0,9.8066);
  70.   WriteLn(W:0:14);
  71.   WaveNumber:=WaveNumber+0.1;
  72.  End;
  73. END.

on obtiendra le résultat suivant:

Nombre de vague Frequence de vague
0.01                0.0442838405346847
0.11                0.483284245969315
0.21                0.904120000135606
0.31                1.29439350996723
0.41                1.64750037820416
0.51                1.96223961769009
0.61                2.24116780044981
0.71                2.48877439250178
0.81                2.71009411116294
0.91                2.90988655848262
1.01                3.09226456180236
1.11                3.26060035427737
1.21                3.4175734276094
1.31                3.56527459565709
1.41                3.70532058634234
1.51                3.83895838612317
1.61                3.96715215371979
1.71                4.09065210263135
1.81                4.21004747750794
1.91                4.32580654215394


Dernière mise à jour : Mardi, le 25 octobre 2016