Проблема в том, что результат вычисления (Math.pow(3.0 - (x*x), 0.5))
возвращает NAN
как будто нереалистичное число
Чтение здесь для получения дополнительной информации о Math.pow(negativeNumber, 0.5)
, поэтому я добавил validPow
, который проверит, х является положительным или отрицательным и вернет правильный результат.
for (var x = -100; x < 100; x++)
{
y = (Math.pow(x, 2/3) + 0.9) * (validPow(3.0 - (x*x), 0.5)) *
Math.sin(10 * Math.PI * x)
console.log(y)
}
function validPow(x, y)
{
var result = Math.pow(x, y);
if (x > 0)
{
return result;
}
else
{
return -1 * Math.pow(-x, y);
}
}