[PHP] Algoritmo matematica

Marianna99

Nuovo Utente
26 Set 2016
16
0
1
Ciao a tutti ho svolto un algoritmo per matematica finanziaria, partendo da una formula matematica. Ho provato a fare la codifica, ma il risultato è sempre lo stesso. Qualcuno potrebbe correggermelo per favore?
PHP:
<?php
$m=$_POST['m'];
$r=$_POST['r'];
$n=$_POST['n'];
$D_i=0.00001;
$D_mi=0.1;
$i=0.01;
do{
$y=(1+$i);
$x= pow($y,$n);
$M_c=$r*(($x-1))/$i;
$D_m=$m-$M_c;
$i=$i+$D_i;
}while($D_m<$D_mi);
echo"scrivi $i";
?>
 

Allegati

Ultima modifica di un moderatore:

Marianna99

Nuovo Utente
26 Set 2016
16
0
1
ciao
cosa intendi per sempre lo stesso?

poi usa gli appositi bccode per lo script
ciao...
intendo che avrei voluto che la variabile
$D_i=0.00001; fosse la variazione che subisce $i nel giro successivo. Ma quando metto in output $i mi da sempre il valore che ho inizializzare. Non so come sistemarlo.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.041
146
63
PR
www.borgo-italia.it
Ciao
ho fatto un paio di verifiche con i dati che mi hai postato.
con quei dati il do/while fa una sola rotazione (avevo messo un contatore)
quindi $i da 0.01 diventa 0.01001 giustamente, ma ho notato che tu stampi quel valore è evidente che rimanga sempre 0.01001
perchè dal valore iniziale lo incrementi sempre nella stessa maniera se noti gia dalla prima rotazione (vedi l'echo in più che ho messo) $D_m vale 11068.7480334 e $D_mi vale 0.1, ho provato a modificare e sempre al primo giro $D_m > $D_mi e quindi esce dal do/while e quindi sempre $i rimane 0.01001
PHP:
<?php
/*$m=$_POST['m'];
$r=$_POST['r'];
$n=$_POST['n'];
$m=$_POST['40043.16'];
$r=$_POST['1800'];
$n=$_POST['15'];
*/
$m=40043.16;
$r=1800;//provato a mettere 2000
$n=15;

$D_i=0.00001;
$D_mi=0.1;
$i=0.01;
do{
    $y=(1+$i);
    $x= pow($y,$n);
    $M_c=$r*(($x-1))/$i;
    $D_m=$m-$M_c;
    $i+=$D_i;
    echo '$D_m vale '.$D_m.' e $D_mi '.$D_mi.'<br>';//fai delle altre prove variando i valori di input
}while($D_m<$D_mi);
echo"scrivi $i<br>";
?>
non conosco la matematica finanziaria quindi non so se le formule che stai usando sono giuste, secondo me o stai sbagliando la formula o il confronto
 

Marianna99

Nuovo Utente
26 Set 2016
16
0
1
Ciao
ho fatto un paio di verifiche con i dati che mi hai postato.
con quei dati il do/while fa una sola rotazione (avevo messo un contatore)
quindi $i da 0.01 diventa 0.01001 giustamente, ma ho notato che tu stampi quel valore è evidente che rimanga sempre 0.01001
perchè dal valore iniziale lo incrementi sempre nella stessa maniera se noti gia dalla prima rotazione (vedi l'echo in più che ho messo) $D_m vale 11068.7480334 e $D_mi vale 0.1, ho provato a modificare e sempre al primo giro $D_m > $D_mi e quindi esce dal do/while e quindi sempre $i rimane 0.01001
PHP:
<?php
/*$m=$_POST['m'];
$r=$_POST['r'];
$n=$_POST['n'];
$m=$_POST['40043.16'];
$r=$_POST['1800'];
$n=$_POST['15'];
*/
$m=40043.16;
$r=1800;//provato a mettere 2000
$n=15;

$D_i=0.00001;
$D_mi=0.1;
$i=0.01;
do{
    $y=(1+$i);
    $x= pow($y,$n);
    $M_c=$r*(($x-1))/$i;
    $D_m=$m-$M_c;
    $i+=$D_i;
    echo '$D_m vale '.$D_m.' e $D_mi '.$D_mi.'<br>';//fai delle altre prove variando i valori di input
}while($D_m<$D_mi);
echo"scrivi $i<br>";
?>
non conosco la matematica finanziaria quindi non so se le formule che stai usando sono giuste, secondo me o stai sbagliando la formula o il confronto
ciao grazie mille. Ora provo a controllare anche le formule.