Re: Legge che lega due vettori

Messaggioda apatriarca » 27/12/2011, 23:55

E' difficile che segua esattamente una qualche funzione, i metodi a cui facevo ricevimento trovano invece la funzione di un certo tipo che minimizzi la differenza con quella "reale". Più che chiederti che tipo di funzione è dovresti chiederti a cosa assomiglia.
apatriarca
Moderatore
Moderatore
 
Messaggi: 2125
Iscritto il: 08/12/2008, 20:37
Località: Torino

Re: Legge che lega due vettori

Messaggioda apatriarca » 28/12/2011, 00:22

Prova a postare questi valori se non sono troppi in modo da poterli analizzare.
apatriarca
Moderatore
Moderatore
 
Messaggi: 2125
Iscritto il: 08/12/2008, 20:37
Località: Torino

Re: Legge che lega due vettori

Messaggioda nato_pigro » 28/12/2011, 01:44

Il problema consiste nel risolvere numericamente un'equazione differenziale alle derivate parziali.
\( \displaystyle {h} \): è il passo della griglia
\( \displaystyle {k} \): la dimensione della matrice che viene fuori (\( \displaystyle \dim{\left({A}\right)}={k}\cdot{k} \))
nonnulliA: gli elementi non nulli di \( \displaystyle {A} \) (sparsa)
tempo: il tempo che ci mette matlab a risolvere il problema
temposimm: il tempo che ci metto tenendo conto di alcune simmetrie del problema

\( \displaystyle {h}={\left[{0.5},{0.2},{0.05},{0.02}\right]} \);
\( \displaystyle {k}={\left[{1476},{8850},{138600},{862500}\right]} \);
nonnulliA\( \displaystyle ={\left[{6664},{42478},{685948},{4294888}\right]} \);
tempo\( \displaystyle ={\left[{0.013378},{0.072883},{1.5591},{22.9037}\right]} \);
temposimm\( \displaystyle ={\left[{0.0088085},{0.019061},{0.36875},{3.0767}\right]} \);

vorrei trovare un legame tra il passo o tra gli elementi non nulli di \( \displaystyle {A} \) con i tempi di risoluzione
Il principio di conservazione dell'energia per un pigro ha un altro significato.
Avatar utente
nato_pigro
Advanced Member
Advanced Member
 
Messaggi: 2515
Iscritto il: 10/08/2006, 14:07
Località: Imperia

Re: Legge che lega due vettori

Messaggioda apatriarca » 30/12/2011, 01:22

Quattro casi sono un po' pochi per poter stabilire una qualche legge significativa tra le diverse variabili.
apatriarca
Moderatore
Moderatore
 
Messaggi: 2125
Iscritto il: 08/12/2008, 20:37
Località: Torino

Re: Legge che lega due vettori

Messaggioda canemacchina » 24/01/2012, 15:41

Guarda che con la regressione e con un po' di tentativi secondo me puoi arrivare ad un risultato soddisfacente.
Lontano dall'aver dimostrato la relazione che intercorre tra i due fattori, ma almeno in grado di darti un'ordine di grandezza delle cose.

Comincia con il campionare i tempi di esecuzione al variare del parametro. E campiona anche molte volte i tempi su stessi valori del parametro. Insomma intanto metti da parte un sacco di dati.

Con questi, puoi provare un semplice metodo, un'approssimazione ai minimi quadrati. Si tratta di un metodo di regressione polinomiale. Andrebbe usato quando si conosce il grado della funzione che lega i nostri dati, però può essere utile. Dai in pasto i dati all'algortimo, prova gradi di polinomi via via crescenti fino a che non ottieni un'interpolazione dei dati soddisfacente.

è un po' rozzo come sistema e sinceramente non troppo scientifico, ma se, come ho capito, hai bisogno di darti un'ordine di idee della cosa, potrebbe bastare.
Certo che non puoi basare su queste prove empiriche una conclusione di un qualche trattato o tesi...

Tra parentesi, ho del codice matlab che dato un set di dati e il grado del polinomio che vogliamo usare per fare regressione, stampa un bel grafico (così ad occhio puoi vedere se ancora non ci sei con il grado del polinomio) della regressione e restituisce il vettore residuo con minima norma.
Basandoti sulla norma di quel vettore, più avvicini a 0 quella norma, migliore sarà la tua approssimazione. Se vuoi ti faccio vedere un po' come funziona.

Ripeto, è roba triviale la mia e non ci puoi basare sopra una conclusione seria, ma sempre meglio di nulla!
canemacchina
Starting Member
Starting Member
 
Messaggi: 47
Iscritto il: 01/07/2010, 13:40
Località: Prato

Re: Legge che lega due vettori

Messaggioda canemacchina » 24/01/2012, 15:52

apatriarca ha scritto:Quattro casi sono un po' pochi per poter stabilire una qualche legge significativa tra le diverse variabili.


Appunto. visto i tempi di esecuzione, fai centinaia di test...
anche di più. Usa 100 valori diversi per h, ed esegui, per ogni valore, 10 volte il test. Sono ancora pochi, ma sono già 1000!
canemacchina
Starting Member
Starting Member
 
Messaggi: 47
Iscritto il: 01/07/2010, 13:40
Località: Prato

Precedente

Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti