La nouvelle courbe de déplacement est calculée, j'ai encore des vérifications à faire, mais cela me semble juste.
La suite demain.
Ce qui avait déclenché cette mise à jour ce sont les valeurs à 92 dB, il y a une petite différence mais très faible.
J'ai coupé le calcul en 3, la partie commune, le numérateur et le dénominateur.
J'ai du ajouter un coefficient 1000000000, je n'ai pas encore compris pourquoi.
$f = 10;
// Ancienne courbe de déplacement
//$h = $fb/$fs ;
//$a = $vas/$volbr ;
//$z17 = $f/$fs ;
//$d1 = sqrt(pow((1-pow($z17,2)*(1+(1+$a)/pow($h,2)+1/($h*$qb*$qts))+pow($z17,4)/pow($h,2)),2)+pow(($z17*(1/$h/$qb+1/$qts)-pow($z17,3)*(1/$qts/pow($h,2)+1/$h/$qb)),2)) ;
//$g = pow($z17,4)/pow($h,2)/$d1 ;
//$xreal = abs(pow($h,2)/pow($z17,2)-pow($h,4)/pow($z17,4))*$g ;
//$p1y = 1000*$xreal*$tension*sqrt(1)/(2*M_PI*$h*$fs*$qes*$bl) ;
//if ($f < $fnx and $p1y < $xn){$p1y = $xn;}
// Nouvelle courbe de déplacement JMP
$h = $fb/$fs ;
$a = $vas/$volbr ;
$fo = sqrt($fs/$fb) ;
$a1 = 1/$qb/sqrt($h)+sqrt($h)/$qts ;
$a2 = ($a+1)/$h+$h+1/$qb/$qts ;
$a3 = 1/$qts/sqrt($h)+sqrt($h)/$qb ;
$com = $tension*sqrt(2)/$bl/2/M_PI/$fs/$qes ;
$num = sqrt(pow(1-pow($f/$fb,2),2)+pow(1/$qb*$f/$fb,2)) ;
$denom = sqrt(pow((1-$a2*pow($f/$fo,2)+pow($f/$fo,4)),2)+pow(($a1*($f/$fo)-$a3*pow($f/$fo,3)),2)) ;
$q1y = 1000000000*$com*$num/$denom ;
$p1x = $f;
$f = $f*pow(2,1/$pointoctave) ;
while($f <= 320)
{
// Ancienne courbe de déplacement
//$h = $fb/$fs ;
//$a = $vas/$volbr ;
//$z17 = $f/$fs ;
//$d1 = sqrt(pow((1-pow($z17,2)*(1+(1+$a)/pow($h,2)+1/($h*$qb*$qts))+pow($z17,4)/pow($h,2)),2)+pow(($z17*(1/$h/$qb+1/$qts)-pow($z17,3)*(1/$qts/pow($h,2)+1/$h/$qb)),2)) ;
//$g = pow($z17,4)/pow($h,2)/$d1 ;
//$xreal = abs(pow($h,2)/pow($z17,2)-pow($h,4)/pow($z17,4))*$g ;
//$p2y = 1000*$xreal*$tension*sqrt(1)/(2*M_PI*$h*$fs*$qes*$bl) ;
//if ($f < $fnx and $p2y < $xn){$p2y = $xn;}
// Nouvelle courbe de déplacement JMP
$h = $fb/$fs ;
$a = $vas/$volbr ;
$fo = sqrt($fs/$fb) ;
$a1 = 1/$qb/sqrt($h)+sqrt($h)/$qts ;
$a2 = ($a+1)/$h+$h+1/$qb/$qts ;
$a3 = 1/$qts/sqrt($h)+sqrt($h)/$qb ;
$com = $tension*sqrt(2)/$bl/2/M_PI/$fs/$qes ;
$num = sqrt(pow(1-pow($f/$fb,2),2)+pow(1/$qb*$f/$fb,2)) ;
$denom = sqrt(pow((1-$a2*pow($f/$fo,2)+pow($f/$fo,4)),2)+pow(($a1*($f/$fo)-$a3*pow($f/$fo,3)),2)) ;
$q2y = 1000000000*$com*$num/$denom ;
$p2x = $f;
$p1xaff = log10($p1x/10)/log10(2)*$echellex+$originex;
$p2xaff = log10($p2x/10)/log10(2)*$echellex+$originex;
//$p1yaff = $zeroy-$p1y*$echelley;
//$p2yaff = $zeroy-$p2y*$echelley;
$q1yaff = $zeroy-$q1y*$echelley;
$q2yaff = $zeroy-$q2y*$echelley;
//imageline( $image, $p1xaff, $p1yaff, $p2xaff, $p2yaff, $bleu);
imageline( $image, $p1xaff, $q1yaff, $p2xaff, $q2yaff, $rouge);
$p1x = $p2x;
$p1y = $p2y;
$q1y = $q2y;
$f = $f*pow(2,1/$pointoctave) ;
}