Math 如何在php中求解方程
我有一个方程在求解时遇到了麻烦。我的方程式:Math 如何在php中求解方程,math,equation,Math,Equation,我有一个方程在求解时遇到了麻烦。我的方程式: S1=O*P*M1/Y1 D1=N-S1 S2=(O-D1)*P*M2/Y2 D2=N-S2 S3=(O-D1-D2)*P*M3/Y3 D3=N-S3 ... 我所做的: $S = array(); $M = array(30,31,30); $Y = array(360,360,360); $O = 30000; $P = 0.3; $N = 10509.74; $D = array(); for($i=1; $i<=count($M
S1=O*P*M1/Y1
D1=N-S1
S2=(O-D1)*P*M2/Y2
D2=N-S2
S3=(O-D1-D2)*P*M3/Y3
D3=N-S3
...
我所做的:
$S = array();
$M = array(30,31,30);
$Y = array(360,360,360);
$O = 30000;
$P = 0.3;
$N = 10509.74;
$D = array();
for($i=1; $i<=count($M); $i++){
if($i==1){
$S[1] = $O*$P*$M[1]/$Y[1];
$D[1] = $N - $S[1];
}
else{
for($k=2; $k<=count($M); $k++){
$S[$i] = ($O-$D[$k-1])*$P*$M[$k]/$Y[$k];
$D[$i] = $N - $S[$i];
}
}
}
print_r($S);
$S=array();
$M=数组(30,31,30);
$Y=阵列(360360);
$O=30000;
$P=0.3;
$N=10509.74;
$D=数组();
对于($i=1;$i我非常确定这是正确的。如果不是,请更新您的问题,以包含示例输入的预期输出。(无论如何,这样做可能不是个坏主意。)
实施:
如果你不需要完整的$D
数组,你可以把它全部剪掉,只需使用$O-=N-$S[$i];
。这个问题不太清楚,所以我把它放在里面了
精度可能是一个问题,尽管所需的精度被忽略了,所以我根本不想解决它。为什么使用第二个循环?第二个循环用于查找S2和D1Hm,但您使用$I allready。您可以使用$I+1,就像使用$k-1一样。作为记录,我对这个问题投了更高的票,因为OP已经显示出解决问题的明确努力mself和已经发布了他的尝试,而他的其他问题是不值得的,这一个在我看来是好的。@bksi使用了$+1不幸输出了错误的结果
// Set up things that don't change as constants.
define('P', 0.3);
define('N', 10509.74);
// O doesn't change, but it's only used once on
// its own. We'll reuse it to store the ongoing
// value of (O-D1), (O-D1-D2), etc.
$O = 30000;
$M = array(30, 31, 30);
$Y = array(360, 360, 360);
$S = array();
$D = array();
for ($i = 0; $i < count($M); $i++) {
$S[$i] = $O * P * $M[$i] / $Y[$i];
$D[$i] = N - $S[$i];
$O -= $D[$i];
}
print_r($S);
Array
(
[0] => 750
[1] => 522.87338333333
[2] => 256.33483458333
)