[PHP] Algoritmo matematica

Discussione in 'PHP' iniziata da Marianna99, 20 Marzo 2017.

  1. Marianna99

    Marianna99 Nuovo Utente

    Registrato:
    26 Settembre 2016
    Messaggi:
    16
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Femmina
    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);
    $xpow($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";
    ?>
     

    Files Allegati:

    Ultima modifica di un moderatore: 21 Marzo 2017
  2. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    15.174
    Mi Piace Ricevuti:
    80
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    cosa intendi per sempre lo stesso?

    poi usa gli appositi bccode per lo script
     
  3. Marianna99

    Marianna99 Nuovo Utente

    Registrato:
    26 Settembre 2016
    Messaggi:
    16
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Femmina
    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.
     
  4. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    15.174
    Mi Piace Ricevuti:
    80
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    per fare una prova mi indichi tre valori che inputi in
    $m=$_POST['m'];
    $r=$_POST['r'];
    $n=$_POST['n'];
     
  5. Marianna99

    Marianna99 Nuovo Utente

    Registrato:
    26 Settembre 2016
    Messaggi:
    16
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Femmina
    ciao, certo
    $m=$_POST['40043.16'];
    $r=$_POST['1800'];
    $n=$_POST['15'];
     
  6. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    15.174
    Mi Piace Ricevuti:
    80
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    ok
    domattina faccio delle prove, poi spero di saperti dire
     
  7. Marianna99

    Marianna99 Nuovo Utente

    Registrato:
    26 Settembre 2016
    Messaggi:
    16
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Femmina
    ciao, grazie mille
     
  8. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    15.174
    Mi Piace Ricevuti:
    80
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    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);
        
    $xpow($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
     
  9. Marianna99

    Marianna99 Nuovo Utente

    Registrato:
    26 Settembre 2016
    Messaggi:
    16
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Femmina
    ciao grazie mille. Ora provo a controllare anche le formule.
     
Sto caricando...

Condividi questa Pagina