Maison > php教程 > PHP开发 > Exemple d'analyse de résolution d'équations implémentée en PHP

Exemple d'analyse de résolution d'équations implémentée en PHP

高洛峰
Libérer: 2016-12-23 15:51:33
original
2351 Les gens l'ont consulté

L'exemple de cet article décrit la résolution d'équations implémentée en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1 Exigences

1 Donner une valeur moyenne La différence entre la valeur maximale et la valeur minimale de X2, Répondez à la formule suivante : 🎜>1)482)0,453)m1, m2, m3 sont tous des décimales positives à 4 chiffres

2. Implémentation


En fonction des besoins, j'ai pensé à utiliser deux fonctions pour le traitement.

1) L'un est la moyenne connue, trouvez la fonction createX() des trois nombres qui satisfont aux conditions de cette moyenne.

2) L'autre est le X connu, trouvez la fonction. qui satisfait la formule (@ 1) et trois décimales des conditions aux limites m0, m1, m2

Ce qui suit est l'implémentation spécifique du code

.

<?php
//运行echo "开始运行 \n";
run();
echo "运行结束 \n";
function run()
{/*{{{*/$data = array(40.9, 40.5, 44.3, 47.8, 48.5, 42.1, 46.2);
  $res = array();
  foreach($dataas$key)
  {/*{{{*/echo "处理 {$key}\n";
    $resX = createX($key);
    foreach($resXas$keyX)
    {
      $keyStr = (string)$key;
      $keyXStr = (string)$keyX;
      $res[$keyStr][$keyXStr] = createParams4M($keyX);
    }
  }/*}}}*/error_log(print_r($res,true)."\n", 3, &#39;/tmp/result.log&#39;);
var_dump(99999,$res);exit;
  return$res;
}/*}}}*///1.产生平均数function createX($ave)
{/*{{{*/$sum = 3*($ave * 1000);
  $x1 = $x2 = $x3 = 0;
  $rand4X1X2 = rand(0, 300);
  //$x2 > $x1 > $x3;for($i=0; $i< $ave * 1000 + 550; $i++)
  {
    $x2 = $i;
    $x1 = $x2 - $rand4X1X2;
    $x3 = $sum -($x1 + $x2);
    $positive = $x1 > 0 && $x2 > 0 && $x3 > 0;
    $flag = ($x2- $x3 < 400 && $x2 - $x3 > 200);
    if($positive && $flag)
    {
      //echo "捕捉到\n";$roundX1 = round($x1/1000, 1);
      $roundX2 = round($x2/1000, 1);
      $roundX3 = round($x3/1000, 1);
      $res = array($roundX1, $roundX2, $roundX3);
      $flag = $roundX1 != $roundX2
          && $roundX3 != $roundX2
          && $roundX3 != $roundX1;
      if($flag)
      {
        //echo "捕捉到\n";return$res;
      }
    }
  }
  echo "Fail 未捕捉到\n";
  returnarray($x1, $x2, $x3);
}/*}}}*///2.产生平均数function createParams4M($aveX)
{/*{{{*/$begin = 48000;
  $end = 51000;
  $m0 = $m1 = $m2 = 0;
  $rand4M1M2 = rand(450, 550);
  $m0 = rand($begin, $end);
  $m1 = $m0 + $rand4M1M2;
  $m2 = $m1 - (($m1 - $m0)*$aveX/100);
  //echo "捕捉到\n";returnarray(round($m0/1000, 4), round($m1/1000, 4), round($m2/1000, 4));
}/*}}}*/?>
Copier après la connexion
3. Problèmes et lacunes rencontrés

1 [Les valeurs des clés du tableau ne peuvent pas être les mêmes] Ce que nous avons rencontré au début, c'est que les trois valeurs originales de la moyenne. peut être le même, mais le tableau Les clés ne peuvent pas être les mêmes, nous avons donc effectué un certain traitement.

En même temps, la valeur clé est convertie en chaîne

2 [Traitement décimal] De plus, comme il s'agit de décimales à 4 chiffres, il n'est pas pratique de parcourir et de sortir si le. les conditions sont remplies, il suffit donc de multiplier par 1000 et enfin de diviser par 1000 pour restaurer.

J'espère que cet article sera utile à tout le monde dans la programmation PHP.

Pour plus d'articles sur des exemples d'analyse de résolution d'équations implémentés en PHP, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal