Team:Groningen/Modelling/model/calc.js
From 2009.igem.org
(Difference between revisions)
(update output function) |
|||
Line 74: | Line 74: | ||
// variablen | // variablen | ||
- | var | + | var data = {time: [0], |
- | + | AsIn: [0], | |
- | + | ArsB: [5], | |
- | + | AsEx: [5], | |
- | + | GlpF: [5], | |
- | + | GlpFAs: [0], | |
- | + | ArsBAs: [0]}; | |
- | + | ||
// constanten | // constanten | ||
Line 99: | Line 98: | ||
for (var i=1;i<=N;i++){ | for (var i=1;i<=N;i++){ | ||
- | GlpFAs[i] = GlpFAs[i-1] + stepSize * (K5on * AsEx[i-1] * GlpF[i-1] - (K5off + K6) * GlpFAs[i-1]); | + | data.GlpFAs[i] = data.GlpFAs[i-1] + stepSize * (K5on * data.AsEx[i-1] * data.GlpF[i-1] - (K5off + K6) * data.GlpFAs[i-1]); |
- | AsEx[i] = AsEx[i-1] + stepSize * (-K5on * AsEx[i-1] * GlpF[i-1] + K5off * GlpFAs[i-1] + (Vc/Vs) * K8 * ArsBAs[i-1]); | + | data.AsEx[i] = data.AsEx[i-1] + stepSize * (-K5on * data.AsEx[i-1] * data.GlpF[i-1] + K5off * data.GlpFAs[i-1] + (Vc/Vs) * K8 * data.ArsBAs[i-1]); |
- | GlpF[i] = GlpF[i-1] + stepSize * (-(K5on * AsEx[i-1] * GlpF[i-1] - (K5off + K6) * GlpFAs[i-1])); | + | data.GlpF[i] = data.GlpF[i-1] + stepSize * (-(K5on * data.AsEx[i-1] * data.GlpF[i-1] - (K5off + K6) * data.GlpFAs[i-1])); |
- | ArsBAs[i] = ArsBAs[i-1] + stepSize * (K7on * AsIn[i-1] * ArsB[i-1] - (K7off+K8) * ArsBAs[i-1]); | + | data.ArsBAs[i] = data.ArsBAs[i-1] + stepSize * (K7on * data.AsIn[i-1] * data.ArsB[i-1] - (K7off+K8) * data.ArsBAs[i-1]); |
- | AsIn[i] = AsIn[i-1] + stepSize * (-K7on * AsIn[i-1] * ArsB[i-1] - (K7off + K8) * ArsBAs[i-1] - K8 * ArsBAs[i-1] + (Vs/Vc) * K6 * GlpFAs[i-1]); | + | data.AsIn[i] = data.AsIn[i-1] + stepSize * (-K7on * data.AsIn[i-1] * data.ArsB[i-1] - (K7off + K8) * data.ArsBAs[i-1] - K8 * data.ArsBAs[i-1] + (Vs/Vc) * K6 * data.GlpFAs[i-1]); |
- | ArsB[i] = ArsB[i-1] + stepSize * (-(K7on * AsIn[i-1] * ArsB[i-1] - (K7off + K8) * ArsBAs[i-1])); | + | data.ArsB[i] = data.ArsB[i-1] + stepSize * (-(K7on * data.AsIn[i-1] * data.ArsB[i-1] - (K7off + K8) * data.ArsBAs[i-1])); |
- | time[i] = time[i-1] + stepSize; | + | data.time[i] = data.time[i-1] + stepSize; |
} | } | ||
- | setOutput(ModelAnswer, AsIn[3]); | + | //setOutput(ModelAnswer, AsIn[3]); |
+ | var modelDataNode = document.getElementById("modelData"); | ||
+ | modelDataNode.data = data; | ||
} | } |
Revision as of 09:58, 26 August 2009
function calc(){
// gets input var growthFactorNode = document.getElementById("growthFactor");
// reads input var growthFactor = Number(growthFactorNode.value); // begin variable var time = 0; var x = 0; var y = 0; arrValueX = new Array(); arrValueY = new Array();
// process var growthFactor = growthFactor + 1; for (var time = 0; time < 30; time++) { var y = growthFactor*x*x; var x = x + 1; arrValueX.push(x); arrValueY.push(y); }
// Set outputs setOutput(growthFactorAnswer, growthFactor ); document.getElementById('growthFactorGraph').refresh();
}
function setOutput(node,v) {
node.innerHTML = formatNumberToHTML(v); node.value = v;
}
function formatNumberToHTML(v,p) {
if (p===undefined) p = 5; return v.toPrecision(p) .replace(/e\+([0-9]+)$/i,'·10$1') .replace(/e\-([0-9]+)$/i,'·10-$1');
}
// ------ Annelies timer functie ---------
// function tijd(){ // setTimeout( "doSomething()", 3000 ); // }
// function doSomething(){ // if (doSomething.time === undefined) { // doSomething.time = 0; // } // // // Set outputs // setOutput(tijdAnswer, doSomething.time); // doSomething.time += 1; // // if (doSomething.time<=100) setTimeout( "doSomething()", 3000 ); // }
// -------- transport ----------
// var myCars=new Array();
function transport(){
// variablen var data = {time: [0], AsIn: [0], ArsB: [5], AsEx: [5], GlpF: [5], GlpFAs: [0], ArsBAs: [0]};
// constanten
var totalTime = 300; var stepSize = 3; var K5on = 1; var K5off =2; var K6 = 3; var Vc = 4; var Vs = 5; var K7on = 6; var K7off = 7; var K8 = 8;
var N = totalTime / stepSize ;
for (var i=1;i<=N;i++){ data.GlpFAs[i] = data.GlpFAs[i-1] + stepSize * (K5on * data.AsEx[i-1] * data.GlpF[i-1] - (K5off + K6) * data.GlpFAs[i-1]); data.AsEx[i] = data.AsEx[i-1] + stepSize * (-K5on * data.AsEx[i-1] * data.GlpF[i-1] + K5off * data.GlpFAs[i-1] + (Vc/Vs) * K8 * data.ArsBAs[i-1]); data.GlpF[i] = data.GlpF[i-1] + stepSize * (-(K5on * data.AsEx[i-1] * data.GlpF[i-1] - (K5off + K6) * data.GlpFAs[i-1])); data.ArsBAs[i] = data.ArsBAs[i-1] + stepSize * (K7on * data.AsIn[i-1] * data.ArsB[i-1] - (K7off+K8) * data.ArsBAs[i-1]); data.AsIn[i] = data.AsIn[i-1] + stepSize * (-K7on * data.AsIn[i-1] * data.ArsB[i-1] - (K7off + K8) * data.ArsBAs[i-1] - K8 * data.ArsBAs[i-1] + (Vs/Vc) * K6 * data.GlpFAs[i-1]); data.ArsB[i] = data.ArsB[i-1] + stepSize * (-(K7on * data.AsIn[i-1] * data.ArsB[i-1] - (K7off + K8) * data.ArsBAs[i-1])); data.time[i] = data.time[i-1] + stepSize; }
//setOutput(ModelAnswer, AsIn[3]); var modelDataNode = document.getElementById("modelData"); modelDataNode.data = data;
}