2016-12-05 5 views
-4

Ich habe ein Modell eines Neurons feuern. Es gibt viele Variablen im c-Code, aber der, an dem ich mich interessiere, ist Spannung. Ich möchte verfolgen, wie lange das Neuron feuert und sobald das Neuron einen bestimmten Wert (hier -20 mV) erreicht, wird es definitiv feuern. Ich habe ein Bild beigefügt - ich möchte besonders die grünen Teile im Auge behalten. Ich schätze, Sie nutzen die Zeit fxn, aber ich bin mir nicht sicher, wie? enter image description hereWie misst man Zeitintervalle?

x [i] steht für Spannung. Dies ist die Gleichung für dx [i]

dx[i]=ab*(-(ina(frt,v[i],n[i],nae[i],nai[i])+inap(frt,v[i],hp[i],nae[i],nai[i])+ik(frt,v[i],n[i],ke[i],ki[i])+ipump[i]+il(v[i])+inmda(inanmda,iknmda,icanmda)+icapump)+iapp); //v 
+1

Da ich nicht in „* feuernden Neuronen *“ ;-): täte eine Auflösung in Sekunden? – alk

+0

Ja Sekunden ist gut. - Ich muss den Zeitunterschied finden, wenn die Neuronenspannung zuerst ansteigt und -20 mV erreicht und dann schließlich abnimmt und -20 mV erreicht. – soscrewed

+1

Die Frage scheint mir zweideutig. Möchten Sie "* die Zeit messen, für die ein Teil Ihres Codes läuft" * oder * "Zeit mit physischen Formeln berechnen" *? – HolyBlackCat

Antwort

1

Versuchen Sie folgendes:

int t1 = time(0); 
fire_neuron();  // place the "neuron firing" code here 
int t2 = time(0); 

printf("Seconds taken to fire neuron: %d\n", t2 - t1); 

Wenn Sie es tun wollen "richtig", können Sie #include <time.h> und schreiben Sie es wie folgt aus:

time_t t1 = time(NULL); 
fire_neuron();   // place the "neuron firing" code here 
time_t t2 = time(NULL); 

printf("Seconds taken to fire neuron: %f\n", difftime(t2, t1)); 

Da ich Ihren Code nicht sehen kann, weiß ich nicht genau, wie ich Ihnen helfen kann. Vielleicht wollen Sie so etwas wie ...

if (dx[i] <= -20) { 
    time_t t1 = time(NULL); 
    fire_neuron(); 
    time_t t2 = time(NULL); 
} 

printf("Seconds taken to fire neuron: %f\n", difftime(t2, t1)); 
+0

'int' sollte wirklich' time_t' sein. – alk

+1

Und '...% d \ n", t2 - t1); 'sollte' ...% f \ n ", difftime (t2, t1) sein;' – alk

+0

@alk Ja, ja, aber [technisch] (http://stackoverflow.com/questions/471248/what-isultimate-a-time-t-typedef-to), "time_t" ist ein 'typedef' für' signed int'. –

Verwandte Themen