国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php教程 PHP開發(fā) PHP實現(xiàn)的方程求解示例分析

PHP實現(xiàn)的方程求解示例分析

Dec 23, 2016 pm 03:51 PM

本文實例講述了PHP實現(xiàn)的方程求解。分享給大家供大家參考,具體如下:

一、需求

1. 給出一個平均值X,反過來求出來,得到這個平均值X的三個數(shù)X1 ,X2, X3,最大值與最小值的差值要小于0.4(X1-X3都是保留1位小數(shù)的數(shù))
2. 這三個數(shù)X1, X2, X3代表了三組數(shù)。滿足下面的公式: X1 = [(m1 - m2)/(m1 - m0) ] * 100 (@1);

m0, m1, m2三個數(shù)的邊界條件如下:

1)482)0.453)m1, m2, m3 都是4位的正小數(shù)

二、實現(xiàn)

根據(jù)需求,我想到了使用兩個函數(shù)來進行處理。

1)一個是已知平均數(shù),求得到這個平均數(shù)滿足條件的三個數(shù)的函數(shù) createX()

2) 一個是已知X,求滿足公式 (@1)和邊界條件的三個小數(shù) m0, m1, m2

下面是具體的代碼實現(xiàn),不足之處請指出

<?php
//運行echo "開始運行 \n";
run();
echo "運行結(jié)束 \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.產(chǎn)生平均數(shù)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.產(chǎn)生平均數(shù)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));
}/*}}}*/?>

? ?

三、遇到的問題和不足之處

1. 【數(shù)組key值不能相同】開始遇到的是 得到的平均數(shù)的原始三個值有可能有相同的,但是數(shù)組中的key是不能相同的,于是做了處理。

同時,key值做了 string的轉(zhuǎn)化

2. 【小數(shù)處理】還有就是 因為涉及的是 4位的小數(shù),循環(huán)遍歷,滿足條件輸出不方便,就 乘以1000擴大倍數(shù),最后再除以1000還原。

希望本文所述對大家PHP程序設計有所幫助。

更多PHP實現(xiàn)的方程求解示例分析相關文章請關注PHP中文網(wǎng)!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276