Dany (Member)
Pro
Messaggi: 129
Iscritto: 03/05/2012
|
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!
|
|
sarbaturino (Normal User)
Pro
Messaggi: 66
Iscritto: 25/04/2011
|
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..
|
|
Dany (Member)
Pro
Messaggi: 129
Iscritto: 03/05/2012
|
In pratica dovrei usare un generatore di parser?
|
|
XBarboX (Member)
Guru
Messaggi: 945
Iscritto: 31/12/2008
|
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
|
|
Dany (Member)
Pro
Messaggi: 129
Iscritto: 03/05/2012
|
Il fatto è che lo faccio già! E con un incremento maggiore finirei solo per peggiorare tutto...
|
|
Qwertj (Dev Team)
Guru
Messaggi: 678
Iscritto: 30/05/2011
|
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.
http://it.wikipedia.org/wiki/Equazione_di_terzo_grado
|
|
Dany (Member)
Pro
Messaggi: 129
Iscritto: 03/05/2012
|
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?
|
|
Qwertj (Dev Team)
Guru
Messaggi: 678
Iscritto: 30/05/2011
|
creati un piccolo parser, normalizza l'equazione e risolvila
|
|
Dany (Member)
Pro
Messaggi: 129
Iscritto: 03/05/2012
|
Grazie mille!
Aspetta, ma ....da dove devo iniziare? Ho a malapena capito cosa sia...
|
|