Debianizzati.Org | Forum | Blog | Guide | IRC
 
 
Forum Italiano Debian - Debianizzati.Org
Marzo 20, 2010, 12:07:22 am *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia: Sul canale IRC di debianizzati.org, potrete richiedere aiuto in tempo reale. Se ne consiglia l'utilizzo in parallelo con il forum:
http://forum.debianizzati.org/comunicazioni/il-canale-irc-di-debianizzatiorg-t36238.0.html
 
   Indice   Aiuto Ricerca Agenda Accedi Registrati  
Pagine: [1] 2 3   Vai giù
  Stampa  
Autore Discussione: Interpolazione con polinomio di x-grado  (Letto 1375 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Brunitika
e-zine member
Hero Member
*

Karma: +58/-2
Scollegato Scollegato

Messaggi: 1959


S
Mostra profilo WWW
« 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 embarassed). 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... wink.

Un grandissimo grazie per qualsiasi spunto smiley.

* curve.zip (23.26 kB - scaricati 26 volte.)
Registrato

sprawl
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 22


sprawl@jabber.org
Mostra profilo WWW E-mail
« 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
Hero Member
*****

Karma: +23/-46
Scollegato Scollegato

Messaggi: 616



Mostra profilo
« 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 embarassed). 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... wink.

Un grandissimo grazie per qualsiasi spunto smiley.

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 Scollegato

Messaggi: 1191



Mostra profilo
« 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
Hero Member
*****

Karma: +95/-10
Scollegato Scollegato

Messaggi: 983



Mostra profilo
« 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.htm
Qui 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 Scollegato

Messaggi: 43


Mostra profilo
« 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
Sr. Member
****

Karma: +9/-1
Scollegato Scollegato

Messaggi: 302



Mostra profilo
« 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

La mia pagina su Last.Fm: http://www.last.fm/user/TetsuyO
Il mio blog: http://tetsuyax.wordpress.com
Il mio sito: http://tetsuya.t35.com/
AMD64 X2 3800+ | 2GB RAM | 200+320GB HD | Nvidia 7300LE 256MB
Acer Aspire One D150
Powered by Debian squeeze/sid (everywhere!)
Brunitika
e-zine member
Hero Member
*

Karma: +58/-2
Scollegato Scollegato

Messaggi: 1959


S
Mostra profilo WWW
« Risposta #7 inserita:: Ottobre 25, 2009, 08:28:13 pm »

Wow... ma siete troppo rapidi Cheesy !!!

@sprawl: ocatve... mi ispira wink. 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 smiley.

@Simone: non sono sicuro di avere capito bene la tua domanda embarassed... 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 wink.

@ferdybassi: mitico grin !!! Propri un bel link per ignorantoni come me wink. 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 smiley.

Grazie ancora a tutti, vi terrò aggiornati.

EDIT: scritto prima di Pinux e TetsuyO wink Grazie anche a voi.
Registrato

borlongioffei
e-zine member
Hero Member
*

Karma: +39/-2
Scollegato Scollegato

Messaggi: 685


ranzik@live.it S
Mostra profilo WWW E-mail
« Risposta #8 inserita:: Ottobre 25, 2009, 09:41:53 pm »

Ciao
Ultimamente faccio cose analoghe all'ordine del giorno...
Con OO dovrei sudare!!  tongue
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 Scollegato

Messaggi: 1191



Mostra profilo
« 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 Scollegato

Messaggi: 1959


S
Mostra profilo WWW
« 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 smiley. Al momento, dunque grazie e a presto wink.
Registrato

TetsuyO
Sr. Member
****

Karma: +9/-1
Scollegato Scollegato

Messaggi: 302



Mostra profilo
« 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 smiley.

E qui devo farti i complimenti!!! K+ per Brunitika
Registrato

La mia pagina su Last.Fm: http://www.last.fm/user/TetsuyO
Il mio blog: http://tetsuyax.wordpress.com
Il mio sito: http://tetsuya.t35.com/
AMD64 X2 3800+ | 2GB RAM | 200+320GB HD | Nvidia 7300LE 256MB
Acer Aspire One D150
Powered by Debian squeeze/sid (everywhere!)
tindal
Administrator
Hero Member
*****

Karma: +103/-5
Scollegato Scollegato

Messaggi: 3047


Mostra profilo
« 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 Wink

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
Hero Member
*****

Karma: +86/-18
Scollegato Scollegato

Messaggi: 630



Mostra profilo
« 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
e-zine member
Hero Member
*

Karma: +39/-2
Scollegato Scollegato

Messaggi: 685


ranzik@live.it S
Mostra profilo WWW E-mail
« 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  wink
Registrato

Pagine: [1] 2 3   Vai su
  Stampa  
 
Vai a:  

Altri Topic Correlati
Oggetto Aperta da Risposte Visite Ultimo messaggio
Processi "immortali" in grado di cambiare il loro PID Generale decola 6 655 Ultimo messaggio Agosto 29, 2005, 04:07:10 pm
da Ldonesty
Powered by MySQL Powered by PHP Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 valido! CSS valido!
Pagina creata in 0.098 secondi con 23 interrogazioni al database.