Fonksiyonu, işlev alanına girdiğimde ve komut satırında a, b ve n katsayılarını hesaplayacak şekilde fonksiyon yapmam gerekiyor.node.js kullanılarak grafiğin eğrisinin altındaki alanı hesaplayacak bir işlev nasıl oluşturulur?
module.exports = function (f,a,b,n,next) {
parseFloat(a);
parseFloat(b);
parseInt(n);
var h = (b-a)/n;
var s = 0;
var suma = function() {
for (var i = 0; i <= n; i++) {
var ximj = a+h*(i-1);
var xi = a+h*i;
var x = (ximj + xi)/2;
s += eval(f,x);
}
return s;
};
if (n<1) {
next(new Error("Koeficijent n je broj ekvidistantnih točaka."))
}
else next(null, {povrsina : function() {return h*suma();}}
);
Ben çalışıyor olması gerekir gibi işlev suma()
çalışmadığını düşünüyorum: For
şimdi bu var.
f: x*x-2*x+7
a: 2
b: 4
n: 10
Povrsina ispod grafa funkcije f je 20.66000...
Benim istemi dosya şuna benzer:
var pov = require('./integrator.js');
var prompt = require('prompt');
prompt.get (['f','a','b','n'],function (err,koef) {
if (err) return console.log(err);
console.log("f: ",koef.f);
console.log("a: ",koef.a);
console.log("b: ",koef.b);
console.log("n: ",koef.n);
parseFloat(koef.a);
parseFloat(koef.b);
parseInt(koef.n);
pov(koef.f,koef.a,koef.b,koef.n,function(err,rj){
if (err)
console.log(err);
else
console.log("Povrsina ispod grafa funkcije f je " + rj.povrsina());
});
yardım :)
Öncelikle parseInt ve parseFloat hatalarını kullanırsınız. Bu işlevler değişkenleri değiştirmez. Sadece ayrıştırılan değeri döndürürler. Bunları şu şekilde kullanmalısınız: 'a = parseFloat (a);' – Lends