Oppure

Loading
23/07/12 10:01
Dany
Salve, so che l'oggetto non dice molto ma la situazione è questa:
Sto lavorando ad un'altra versione di Paint XY, questa volta che permette di fare equazioni in 3 dimensioni. Il problema è che essendoci tre variabili (X,Y,Z) per testare tutti i valori di queste e trovare le terne che rendono il primo membro dell'equazione uguale al secondo (e quindi verificano l'equazione) devo fare tre cicli nidificati, ma il programma impiega veramente troppo. Mi rendo conto che sia un metodo barbaro, ma per il momento non so cosa fare...voi avete idee?

Grazie in anticipo! :k:
aaa
23/07/12 11:29
sarbaturino
Se ho capito bene, deve far risolvere un'equazione a 3 incognite??

Se è così, ti consiglio di realizzarti un parser che riconosca tale equazione e te la risolva..
aaa
23/07/12 11:44
Dany
In pratica dovrei usare un generatore di parser?
aaa
23/07/12 12:50
XBarboX
La butto li. Potrebbe essere una cazzata ma è sempre un consiglio :)
Nel for invece di incrementare di 1 cerca di incrementare in base alle reali esigenze. Non stare nella precisione assoluta ma usa intervalli più ampi magari in base alla risoluzione dello schermo
aaa
23/07/12 17:13
Dany
Il fatto è che lo faccio già! E con un incremento maggiore finirei solo per peggiorare tutto...
aaa
24/07/12 13:01
Qwertj
Secondo me conviene che a seconda del grado dell'equazione usi un diverso procedimento perchè se no è davvero barbaro (e inutile)
Per quelle di primo e secondo grado non penso sia un problema, ma quelle di terzo grado sono difficili, guardatele su Wikipedia. In ogni caso si tratta solo di capire le formule e applicarle nel programma.
it.wikipedia.org/wiki/…
aaa
25/07/12 10:20
Dany
Grazie, ma
Ci sono 2 problemi:
1)non si tratta di equazioni già belle con i coefficienti ordinati, tipo una tanto comoda: 2*X^2+3*x-5=0 potrebbe essere scritta come x*x+x*x+x+x-x+x+x+10-15=0 e non saprei metterci mano.
2)Inoltre non sono semplici equazioni del tipo a(0)*x^n+...a(n) ma possono presentare anche funzioni del tipo:
sin(x^2+1)=cos(x*3)

E in questo caso francamente, non so come fare...

Suggerimenti?8-|:hail:
aaa
25/07/12 19:51
Qwertj
creati un piccolo parser, normalizza l'equazione e risolvila
aaa