Сравнение числовых массивов
Блог 16 февраля 2019
При отладке кода требуется сравнить результат работы с эталоном. Такая проблема возникла при разработке рекурсивной нейронной сети (RNN). Написал скрипт на javascript. Дешево и сердито.
код скрипта
function myload() {
$("#file1").val("1\n2\n3\n4");
$("#file2").val("1\n2\n3.001");
return false;
}
function compare() {
var s1 = $("#file1").val();
var arr1 = s1.split("\n");
var s2 = $("#file2").val();
var arr2 = s2.split("\n");
var prec = $("#prec").val();
if (isNaN(prec)) {
$("#prec").val("0.001");
prec = 0.001;
}
else prec = prec * 1;
var s = "
";
for (var i = 0; i < Math.max(arr1.length, arr2.length) ; i++) {
s += "
" + i + " | ";
s += "" + (i < arr1.length ? arr1[i] : " ") + " | ";
s += "" + (i < arr2.length ? arr2[i] : " ") + " | ";
var cls = "red";
if (i < arr1.length && i < arr2.length) {
if (arr1[i] == arr2[i]) cls = "green";
else if (!isNaN(arr1[i]) && !isNaN(arr2[i])) {
if (Math.abs(arr1[i] - arr2[i]) <= prec) cls = "yellow";
}
}
s += " | ";
}
s += "
";
$("#result").html(s);
return false;
}
пример
Комментарии
Комментариев еще нет.
Добавить комментарий могут только авторизованные пользователи.
Авторизоваться