Возникла следующая проблема: пользователь вводит U и V, далее эти значения(с индексом 0) записываются в массив. Но при вычислении элемента другого массива (с использованием значений U и V) появляется Nan. При этом если определить первые значения в массивах U, V самостоятельно ошибки нет.
Заранее извиняюсь за ужасный код, первая программа
var kU=[];
var kV=[];
var Ui=[2];
var Vi=[2];
function init() {
var Button=document.getElementById("chetButton");
Button.onclick=chet;
}
window.onload=init;
function poiskn() {
var UInput=document.getElementById("tn");
var tn=UInput.value;
var VInput=document.getElementById("chag");
h=VInput.value;
n=(tn-0)/h;
return n;
}
//function UV0()
//var UInput=document.getElementById("Ui");
//var u=UInput.value;
//var VInput=document.getElementById("Vi");
//var v=VInput.value;
// Ui[0]=u;
// Vi[0]=v;
// return Ui, Vi;
//}
function lookUV ( ku, kv, u0, v0) {
u=u0[u0.length-1]+((ku[0]+2*ku[1]+2*ku[2]+ku[3])/6);
v=v0[v0.length-1]+((kv[0]+2*kv[1]+2*kv[2]+kv[3])/6);
u0.push(u);
v0.push(v);
return u0, v0;
}
function lookK(ku, kv, u0, v0) {
var aInput=document.getElementById("victim");
var a=aInput.value;
var bInput=document.getElementById("predator");
var b=bInput.value;
var cInput=document.getElementById("deadPredator");
var c=cInput.value;
var dInput=document.getElementById("deadVictim");
var d=dInput.value;
var U=u0[u0.length-1];
var V=v0[u0.length-1];
ku[0]=h*(a*U-b*U*V); //тут считается нормально
kv[0]=h*(c*U*V-d*V);
ku[1]=h*(a*(U+ku[0]/2)-b*(U+ku[0]/2)*(V+kv[0]/2)); //появляется ошибка в вычислении
kv[1]=h*(c*(U+ku[0]/2)*(V+kv[0]/2)-d*(V+kv[0]/2));
ku[2]=h*(a*(U+ku[1]/2)-b*(U+ku[1]/2)*(V+kv[1]/2)); //отсюда уже началось Nan
kv[2]=h*(c*(U+ku[1]/2)*(V+kv[1]/2)-d*(V+kv[1]/2));
ku[3]=h*(a*(U+ku[2])-b*(U+ku[2])*(V+kv[2]));
kv[3]=h*(c*(U+ku[2])*(V+kv[2])-d*(V+kv[2]));
return ku, kv;
}
function chet (){
// UV0();
poiskn()
for (var i=0; i<=n; i++){
lookK(kU, kV, Ui, Vi);
lookUV(kU, kV, Ui, Vi);
console.log("k_u="+ kU);
console.log( "U"+ Ui);
console.log("k_v="+ kV);
console.log( "V"+ Vi);
}
}
<p> A: <input type="number" id="victim"></p>
<p> B: <input type="number" id="predator" ></p>
<p> C: <input type="number" id="deadPredator"></p>
<p> D: <input type="number" id="deadVictim"></p>
<p> tn: <input type="number" id="tn"></p>
<p> h: <input type="number" id="chag" ></p>
<p> U(t): <input type="number" id="Ui"></p>
<p> V(t): <input type="number" id="Vi" ></p>