解方程 (允许误差)

解方程 (允许误差)


1. 确定范围
2. 确定误差
3. 确定增量
4. 在区间内执行方程,满足误差存入解集
5. 返回解集


var solveFun = function(
f /*function*/,
c /*closest to 0*/,
from /*from what number*/,
to /*to what number*/,
ic /*increasement*/){


var arr = new Array();
for(var i =from ; i <= to ; i+=ic){
var r = f(i);
if(Math.abs(r) <= c) {arr.push({x:i,y:r});}
}


if(arr.length == 0) {return undefined;}


return arr;
}


var ret = solveFun(function (n){return n*n*n -3*n + 1},0.001,-10,20,0.001);


if(ret == undefined){console.log("no answer.");}


else {
console.log(ret.length + "answer found ");
for(var i = 0 ;i < ret.length; i++)
console.log("x = " + ret[i].x + ", y= " + ret[i].y);


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值