PDA

View Full Version : [c#] Calcolo della prob. in una distribuzione continua


pare93
28-11-2010, 12:12
Salve a tutti,
Come dice il titolo stó sviluppando un' applicazione in linguaggio C# che consenta di calcolare la funzione di ripartizione in una distribuzione normale di variabili aletorie continue.
Avevo in mente di calcolarla tramite la distribuzione standardizzata in modo tale da ricavare Z tramite le opportune variabili inserite dall' utente e successivamente ricevarmi la funzione dimripartizione.
Un primo metodo possibile consiste nel fatto di inserire tutti i valori tabulari della F(Z=z) in una semplicissima matrice di double e quindi successivamente tramite Z ricavarmi la corrispondente funzione di ripartizione.
Peró ho pensato che questi valori sono abbastanza approssimati ( credo che abbiano 5 cifre decimali ) e io vorrei ottenere un risultato più preciso.
Un' idea che mi era passata per la testa era di avviare il software mathematica e di eseguire i calcoli dell' integrale tramite lui e riportarlu nel mio programma.
Ma devo dire che mi sono bloccato al punto nel quale devo aprire il file.nb dal mio programma al software mathematica.
Spero di essere stato chiaro ...
Qualcuno quindi sa come aprire un file da C# in un' altro programma ... Mi basta anche che venga aperto un semplice file di testo in un qualsiasi editor al massimo dopo mi posto io il codice.
Oppure se qualcuno ha delle altre soluzioni al mio problema sono bel accette:D
Grazie in anticipo ...

wingman87
28-11-2010, 19:12
Se invece di double (64 bit) usassi decimal (128 bit)?

pare93
29-11-2010, 09:35
No, perchè il problema stà nel trovare un risultato che abbia una decine di cifre decimali o comunque sia abbastanza preciso.
Dai valori nelle tabelle credo che si arrivi ad un massimo di 5 cifre.

pare93
01-12-2010, 20:57
Ragazzi forse sono arrivato ad una sorta di soluzione.
Mathematica crea delle librerie costruite per interagire con il .NET.
Quindi io le ho importate nel mio progetto ed ora ci stò lavorando sopra .. ho trovato un esempio in VB e lo stò traducendo.
Vi tengo aggiornati :D

pare93
13-12-2010, 19:12
Ho trovato una soluzione ma incompleta per ora visto che non funziona per z uguale ad un numero intero in quanto ci sono problemi con la punteggiatura del numero stesso.
Comunque se a qualcuno servisse la soluzione mi contatti via MP.