Come determinare una formula per il tempo di esecuzione forniti dati quantitativi, Excel, linee di tendenza, la simulazione Monte Carlo

StackOverflow https://stackoverflow.com/questions/1115777

Domanda

Posso ottenere il vostro aiuto su alcuni matematica e, eventualmente, di Excel?

Ho benchmark mia app aumentando il numero di iterazioni e il numero di debitori di registrazione del tempo impiegato in pochi secondi con il seguente risultato:

        200 400 600 800 1000    1200    1400    1600    1800    2000
20000   15.627681   30.0968663  44.7592684  60.9037558  75.8267358  90.3718977  105.8749983 121.0030672 135.9191249 150.3331682
40000   31.7202111  62.3603882  97.2085204  128.8111731 156.2443206 186.6374271 218.324317  249.2699288 279.6008184 310.9970803
60000   47.0708635  92.4599437  138.874287  186.0576007 231.2181381 280.541207  322.9836878 371.3076757 413.4058622 459.6208335
80000   60.7346238  120.3216303 180.471169  241.668982  300.4283548 376.9639188 417.5231669 482.6288981 554.9740194 598.0394434
100000  76.7535915  150.7479245 227.5125656 304.3908046 382.5900043 451.6034296 526.0730786 609.0358776 679.0268121 779.6887277
120000  90.4174626  179.5511355 269.4099593 360.2934453 448.4387573 537.1406039 626.7325734 727.6132992 807.4767327 898.307638

Come posso ora venire con una funzione per T (tempo impiegato in secondi) come espressione di numero di debitori O e numero di iterazioni I

Grazie

È stato utile?

Soluzione 2

parlato con uno dei quants qui la funzione è del da T = KNO, dove T è il tempo, una costante K, N iterazioni, obbligati O.

Riorganizzare per K = T / (NO), collegarlo alla miei dati di esempio, prendere la media di tutti i punti di campionamento, utilizzare il dev Std per l'errore

L'ho fatto per i miei dati e ottenere:

T = 3.81524E-06 * N * O (con il 1,9% di errore), questa è una buona approssimazione.

Altri suggerimenti

Non sono del tutto sicuro dei dati coinvolti a causa della costruzione domanda / presentazione.

Supponendo che stai cercando y = f(x). Se si caricano i dati in Excel, è possibile utilizzare i metodi SLOPE e INTERCEPT sui dati gamme di ricavare un'espressione della forma

y = mx+c

e quindi una funzione lineare.

Se si desidera un quadratica o cubica, è possibile utilizzare LINEST con una colonna di dati in tempo al quadrato / cubetti ecc per darvi i parametri quadratica / cubica, e ricavare così una funzione di ordine superiore appropriata.

Crea un grafico in Excel, aggiungere una linea di tendenza, e scegliere di avere l'equazione visualizzata sul grafico.

Per chiarire:? Si dispone di dati tabulari di sotto del quale si desidera per adattarsi a qualche funzione f (O, I) = t

        200          400         600         800         1000        1200        1400        1600        1800        2000
20000   15.627681   30.0968663  44.7592684  60.9037558  75.8267358  90.3718977  105.8749983 121.0030672 135.9191249 150.3331682
40000   31.7202111  62.3603882  97.2085204  128.8111731 156.2443206 186.6374271 218.324317  249.2699288 279.6008184 310.9970803
60000   47.0708635  92.4599437  138.874287  186.0576007 231.2181381 280.541207  322.9836878 371.3076757 413.4058622 459.6208335
80000   60.7346238  120.3216303 180.471169  241.668982  300.4283548 376.9639188 417.5231669 482.6288981 554.9740194 598.0394434
100000  76.7535915  150.7479245 227.5125656 304.3908046 382.5900043 451.6034296 526.0730786 609.0358776 679.0268121 779.6887277
120000  90.4174626  179.5511355 269.4099593 360.2934453 448.4387573 537.1406039 626.7325734 727.6132992 807.4767327 898.307638

A occhio e croce sembra sia O & I sono lineari. Quindi f è in forma t = aO + bi + c. Plug In pochi (O, i, t) e vedere che cosa a, b, c dovrebbero essere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top