2009-07-12 29 views
1

Puis-je obtenir votre aide sur certaines mathématiques et éventuellement Excel?Comment déterminer une formule pour le temps d'exécution donné des données quantitatives, Excel, courbes de tendance, Monte Carlo simulation

Je benchmarkée mon application en augmentant le nombre d'itérations et le nombre de débitrices d'enregistrement le temps en quelques secondes avec le résultat suivant:

 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 

Comment puis-je venir maintenant avec une fonction T (temps nécessaire en quelques secondes) en tant qu'expression du nombre de O et débitrices nombre d'itérations I

Merci

+0

Putain que les données sont vraiment moche, comment puis-je coller une table ou une feuille de calcul? Je suis bloqué de toutes les applications Google au travail, donc je ne peux pas créer de lien vers une feuille de calcul google. – m3ntat

Répondre

1

Spoke à l'un des quants ici la fonction est de T = KNO, où T est le temps, K une certaine constante, N itérations, O obligés.

Réorganiser pour K = T/(NO), le brancher mes données d'échantillons, prendre la moyenne de tous les points d'échantillonnage, utilisez le dev Std pour l'erreur

Je l'ai fait pour mes données et obtenir:

T = 3.81524E-06 * N * O (avec une erreur de 1,9%), c'est une très bonne approximation.

0

Créer un graphique dans Excel, ajoutez une ligne de tendance, et sélectionnez avoir l'équation affichée sur le graphique.

+0

Je peux prendre un sous-ensemble des données et créer un graphique avec la ligne de tendance pour les itérations (x) vs le temps (y) et voir la formule (les débiteurs obligataires constants), je peux aussi le faire séparément y) pour un nombre donné d'itérations (en maintenant cette constante). Mais j'ai une grille de données avec les deux variables itérations, débiteurs et temps, comment obtenir une formule pour T = une fonction avec O (débiteurs) et I (itérations). Merci – m3ntat

2

Je ne suis pas tout à fait sûr des données impliquées en raison de la construction de la question/présentation.

En supposant que vous soyez à la recherche de y = f(x). Si vous chargez les données dans Excel, vous pouvez utiliser les méthodes SLOPE et INTERCEPT sur les plages de données pour obtenir une expression de la forme

y = mx+c 

et donc une fonction linéaire. Si vous voulez un quadratique ou cubique, vous pouvez utiliser LINEST avec une colonne de données de temps au carré/cubes etc. pour vous donner des paramètres quadratiques/cubiques, et ainsi dériver une fonction d'ordre supérieur appropriée.

+0

Merci Brian, j'ai utilisé la fonction Slope et j'ai maintenant deux ensembles de données de pente. Les pentes pour le temps = en tant que débiteurs pour un nombre donné d'itérations, et les pentes pour le temps = lorsque les itérations augmentent pour un nombre donné de débiteurs. Pistes de plus en plus fonctionne débiteur 200,400,600,800,1000,1200,1400,1600,1800,2000 0,075266154 0,154345891 0,22975271 0,302824147 0,383819553 0,449864445 – m3ntat

+0

Et Pentes pour augmenter les itérations pour les exécutions 20000,40000,60000,80000,100000,120000 0,000746733 0,001 486137 0,002222518 0,002970427 0,003730439 0,00446452 0,005174391 0,006033815 0,006710906 0,007549094 Ai-je besoin de courir à travers cela pour intercepter aussi? Alors comment obtenir une formule globale pour le temps en fonction du nombre de débiteurs et du nombre d'itérations? Merci – m3ntat

+0

Donc d'abord, obtenez votre y = mx + c pour les deux ensembles de données. Maintenant (c'est difficile à faire sans un diagramme), vous avez une fonction linéaire pour le temps vs les débiteurs, et le temps contre les itérations. Je ne suis pas un expert en la matière, mais j'imagine que ces deux fonctions sont tracées à angle droit l'une par rapport à l'autre, partageant le temps comme un axe vertical. Vous devez trouver une fonction qui pondère les deux contributions (de telle sorte qu'en regardant une seule, vous ne considériez pas l'autre). J'avoue que je ne suis pas sûr de savoir comment faire ça. –

0

Pour clarifier: Vous avez ci-dessous des données tabulaires que vous voulez adapter à une fonction 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 

Une estimation grossière ressemble à la fois O & I sont linéaires. Donc f est sous la forme t = aO + bI + c. Branchez-en quelques-uns (O, I, t) et voyez ce que devrait être a, b, c.

+0

Alors, comment calculer les valeurs a, b et c? – m3ntat