Brunitika
e-zine member
Hero Member
Karma: +58/-2
Scollegato
Messaggi: 1959
|
 |
« inserita:: Ottobre 25, 2009, 06:17:03 pm » |
|
Per progettare un software sulla crescita dei feti secondo il modello di Hadlock, basato sulla circonferenza cranica e addominale e la lunghezza del femore, sulle curve di kurmanavicius, devo trovare un polinomio che passa per dei punti dati. Sull'asse delle X ho il tempo (regolare, espresso in settimane di gravidanza), mentre sull'asse delle Y ho le varie misure dei parametri citati. Come descritto nella breve introduzione, per trovare il polinomio cercato ho pensato di utilizzare openoffice (le mie conoscenze di base sono scarse, soprattutto in matematica  ). Purtroppo, quest'ultimo ha però soltanto la possibilità di interpolare con funzioni di tipo lineare, logaritmico o esponenziale :'(. A questo punto mi chiedevo se qualcuno ha esperienza in merito e se esiste magari qualche bel software libero che potrebbe adattarsi alle mie necessità . In allegato, vi mando alcune curve per rendere un'idea più chiara al lavoro in corso. Si tratterrebbe di unire i punti di colore uguale con un polinomio di x-grado. In un secondo tempo si tratterrà di traslare la funzione per tutte le curve percentili in funzione di un parametro e dunque trovare a che funzione appartiene una misura qualsiasi; anche se questa seconda parte è un'altra storia...  . Un grandissimo grazie per qualsiasi spunto  .
|
|
|
|
Registrato
|
|
|
|
|
sprawl
|
 |
« Risposta #1 inserita:: Ottobre 25, 2009, 07:07:48 pm » |
|
ti consiglio di usare gnu-octave,anche se è più complesso,bisognerebbe studiarlo un po' e dovresti scrivere uno script ,ma niente di trascendentale... http://www.finex.org/octave.html questa guida sembra chiara...
|
|
|
|
|
Registrato
|
|
|
|
|
Vandik
|
 |
« Risposta #2 inserita:: Ottobre 25, 2009, 07:16:00 pm » |
|
Per progettare un software sulla crescita dei feti secondo il modello di Hadlock, basato sulla circonferenza cranica e addominale e la lunghezza del femore, sulle curve di kurmanavicius, devo trovare un polinomio che passa per dei punti dati. Sull'asse delle X ho il tempo (regolare, espresso in settimane di gravidanza), mentre sull'asse delle Y ho le varie misure dei parametri citati. Come descritto nella breve introduzione, per trovare il polinomio cercato ho pensato di utilizzare openoffice (le mie conoscenze di base sono scarse, soprattutto in matematica  ). Purtroppo, quest'ultimo ha però soltanto la possibilità di interpolare con funzioni di tipo lineare, logaritmico o esponenziale :'(. A questo punto mi chiedevo se qualcuno ha esperienza in merito e se esiste magari qualche bel software libero che potrebbe adattarsi alle mie necessità . In allegato, vi mando alcune curve per rendere un'idea più chiara al lavoro in corso. Si tratterrebbe di unire i punti di colore uguale con un polinomio di x-grado. In un secondo tempo si tratterrà di traslare la funzione per tutte le curve percentili in funzione di un parametro e dunque trovare a che funzione appartiene una misura qualsiasi; anche se questa seconda parte è un'altra storia...  . Un grandissimo grazie per qualsiasi spunto  . Ma sei un Ginecologo?? Io sono Un Odontoiatra, anzi, mi sono diplomato come Odontotecnico e poi mi sono laureato in Odontoiatria. Purtroppo non sono in grado di aiutarti, il massimo che posso fare è chiedere in giro, se trovo qualcuno o qualcosa di utili te lo faccio sapere. Ormai mi occupo di altro, ho collaborato per un certo periodo con alcune aziende produttrici di "attrezzature mediche", solo che non li vedo e non li sento da un po di tempo. Se sento qualcosa di utile te lo dico. Ciao.
|
|
|
|
|
Registrato
|
|
|
|
Simone
e-zine member
Hero Member
Karma: +41/-2
Scollegato
Messaggi: 1191
|
 |
« Risposta #3 inserita:: Ottobre 25, 2009, 07:18:57 pm » |
|
Ciao Bruno, uno spunto e una domanda. Puoi usare una semplice interpolazione quadratica o cubica, ma sarebbero polinomi "a tratti". La domanda è: devi usare un polinomio definito su tutto l'insieme dei punti o intervalli con polinomi diversi possono andare bene? Nel secondo caso ci sono un sacco di algoritmi di analisi numerica che approssimano con un errore sufficientemente piccolo la curva che tu vuoi ottentere.
|
|
|
|
|
Registrato
|
|
|
|
|
ferdybassi
|
 |
« Risposta #4 inserita:: Ottobre 25, 2009, 07:20:31 pm » |
|
Di solito si usa la formula di Lagrange, che permette di definire il polinomio y = P(x) passante per tutti i punti dati. Un link very easy è questo: http://utenti.quipo.it/base5/analisi/polinewton.htmQui ti fanno vedere anche il trucchetto di Newton per semplificare ancora di più le cose. Non ci ho mai provato, ma secondo me si riesce a gestire anche con OO. Questi tipi di polinomi vengono anche chiamati polinomi interpolatori, perchè possono essere usati per approssimare una funzione continua e per calcolarne l'integrale per via numerica. Ciao ciao
|
|
|
|
|
Registrato
|
|
|
|
Pinux
Newbie
Karma: +2/-0
Scollegato
Messaggi: 43
|
 |
« Risposta #5 inserita:: Ottobre 25, 2009, 08:04:44 pm » |
|
Come già detto sopra, Octave è sicuramente la soluzione. Per essere precisi puoi usare la funzione polyfit: qui trovi i riferimenti. Buon lavoro, Giuseppe
|
|
|
|
|
Registrato
|
|
|
|
|
TetsuyO
|
 |
« Risposta #6 inserita:: Ottobre 25, 2009, 08:11:31 pm » |
|
E poi ci sono miei colleghi all'università che si lamentano dicendo "Ma tanto a noi informatici cosa serve sapere le cose avanzate di matematica?"...buon lavoro, anche io non posso che consigliarti di usare octave (noi stiamo facendo proprio robe simili all'uni, analisi numerica e calcolo, usando matlab/octave)
|
|
|
|
|
Registrato
|
|
|
|
Brunitika
e-zine member
Hero Member
Karma: +58/-2
Scollegato
Messaggi: 1959
|
 |
« Risposta #7 inserita:: Ottobre 25, 2009, 08:28:13 pm » |
|
Wow... ma siete troppo rapidi  !!! @sprawl: ocatve... mi ispira  . Da qualche link parrebbe la funzione polyfit essere quella di cui necessito: http://www.obihiro.ac.jp/~suzukim/masuda/octave/html3/octave_145.html, http://nullprogram.com/blog/2007/10/30. @Vandik: non sono ginecologo, ma sto lavorando al momento in ginecologia. Sono medico e mi sto specializzando in medicina familiare (o generale che si voglia dire). Mi piacerebbe creare il programma perchè l'unica alternativa attuale è Digisono™ e guarda a caso proprietario; inoltre dal momento che lo scriverei in python andrebbe ad integrarsi con la "suite" gnumed, andando ulteriormente ad allargare il campo informatico libero nella medicina. E ciò mi sta molto a cuore  . @Simone: non sono sicuro di avere capito bene la tua domanda  ... In ogni caso, a me serve un polinomio traslabile per tutte le curve percentili. La mia idea è quella di passare dalla curva del 5-percentile a quella del 95 con un singolo polinomio e passando da una curva all'altro modificando un parametro. A questo punto, data una misura a caso (inserita dall'utente), la risolvo nel polinomio trovato per la settimana di gravidanza (definita anch'essa) e la confronto con un polinomio variando tutti i valori dell'ascisse (in ogni caso finiti da 12+0/7 a 42+0/7) con un ciclo e variando la variabile dei percentili: quando il risultato combacia, so che a che funzione (dunque a che percentile) appartiene il mio valore. Questa è almeno la mia idea  . @ferdybassi: mitico  !!! Propri un bel link per ignorantoni come me  . Il trucchetto di Newton l'ho capito e potrei anche applicarlo. Mi piace di più però l'idea di utilizzare octave, anche se è proprio bello capire le basi  . Grazie ancora a tutti, vi terrò aggiornati. EDIT: scritto prima di Pinux e TetsuyO  Grazie anche a voi.
|
|
|
|
|
Registrato
|
|
|
|
|
borlongioffei
|
 |
« Risposta #8 inserita:: Ottobre 25, 2009, 09:41:53 pm » |
|
Ciao Ultimamente faccio cose analoghe all'ordine del giorno... Con OO dovrei sudare!!  Io ti consiglio qtiplot (che trovi anche sui repo). Per la manipolazione dei dati lo trovo eccezionale! Secondo me il suo utilizzo è abbastanza intuitivo: Importi i dati, selezioni quale colonna è X e quale Y, fai plot di ogni sorta e ne fai fit con diversi tipi di funzioni anche personalizzabili ( Analysis -> Fit wizard ....) E' un clone libero di programmi più "altisonanti" che nel mio dipartimento purtroppo dettano legge, ma lo trovo potente e semplicissimo da usare tramite l'interfaccia grafica.
|
|
|
|
|
Registrato
|
|
|
|
Simone
e-zine member
Hero Member
Karma: +41/-2
Scollegato
Messaggi: 1191
|
 |
« Risposta #9 inserita:: Ottobre 25, 2009, 11:17:23 pm » |
|
Bruno, non vorrei entrare nel tecnicismo perchè sarebbe un pò lunga e sicuramente interessante, ma un pò troppo OT e già hai trovato soluzioni che possono andar bene.
Io personalmente non sono un amante del metodo di Lagrange perchè, a prove fatte in laboratorio con MatLab, si possono ottenere anche polinomi orribili che si discostano dalla linea ideale che si vuole percorrere. Fai delle prove e vedi comunque se i link che ti hanno fornito soddisfano le esigenze...
|
|
|
|
|
Registrato
|
|
|
|
Brunitika
e-zine member
Hero Member
Karma: +58/-2
Scollegato
Messaggi: 1959
|
 |
« Risposta #10 inserita:: Ottobre 25, 2009, 11:24:34 pm » |
|
Grazie dell'info. Appena posso incomincio le prove e mi fa piacere di sapere contare su di voi in caso di bisogno  . Al momento, dunque grazie e a presto  .
|
|
|
|
|
Registrato
|
|
|
|
|
TetsuyO
|
 |
« Risposta #11 inserita:: Ottobre 26, 2009, 09:26:57 am » |
|
Mi piacerebbe creare il programma perchè l'unica alternativa attuale è Digisono™ e guarda a caso proprietario; inoltre dal momento che lo scriverei in python andrebbe ad integrarsi con la "suite" gnumed, andando ulteriormente ad allargare il campo informatico libero nella medicina. E ciò mi sta molto a cuore  . E qui devo farti i complimenti!!! K+ per Brunitika
|
|
|
|
|
Registrato
|
|
|
|
|
tindal
|
 |
« Risposta #12 inserita:: Ottobre 26, 2009, 09:57:56 am » |
|
beh, per queste cose puoi usare anche gnuplot, che (come peraltro anche octave) ha anche un'interfaccia python se invece vuoi fare un programma più indipendente, ci sono parecchie librerie matematiche per python, e con qualche ricerca trovi di sicuro qualcosa che fa al caso tuo  ciao tindal
|
|
|
|
|
Registrato
|
Se ci sono molti modi diversi per fare una certa cosa, ed uno di questi ha conseguenze disastrose, di sicuro qualcuno la farà in quel modo.
|
|
|
|
niusiland
|
 |
« Risposta #13 inserita:: Ottobre 26, 2009, 12:09:32 pm » |
|
Io ti consiglio qtiplot Secondo me il suo utilizzo è abbastanza intuitivo
Quoto borlongioffei, preso da curiosità (e nullafacenza) ho provato qtiplot e l'utilizzo è davvero banale... Se fosse possibile realizzare script per "riempire" i dati sarebbe davvero ottimo... Buona interpolazione!
|
|
|
|
|
Registrato
|
"Polizia uccide cacciatore di frodo sulla terra comasca". Lo stambecco felice e ubriaco vola lontano e la nebbia delusa e sconfitta se ne va... piano, piano.
|
|
|
|
borlongioffei
|
 |
« Risposta #14 inserita:: Ottobre 26, 2009, 05:46:50 pm » |
|
Se fosse possibile realizzare script per "riempire" i dati sarebbe davvero ottimo...
...io ho i miei programmini in fortran che mi preparano dei file ascii ad hoc che poi importo in qtiplot 
|
|
|
|
|
Registrato
|
|
|
|
|