関数内のすべての根[f(x)= 0]を見つけようとしています。私の現在の解決策は、十分に離れていて、お互いに干渉していない場合にのみ機能します。 (例:x^2 - 2の場合)ダーツ - 関数内のすべての根を見つける
bool numberIsCloseToZero(num number){
return (num.parse(number.abs().toStringAsFixed(1)) == 0.0) ? true : false;
}
List<num> calculateRoots(String function){
num eval = 0.0;
List<num> roots = [];
for (num x = -10; x < 10; x += 0.1){
eval = calculateYOfX(function, x);
if (numberIsCloseToZero(num.parse(eval.toStringAsFixed(2)))){
roots.add(x);
}
}
return roots;
}
明らかに、これは私の丸めによるものです。 (例えば、x^2の根の周囲の値はゼロに近すぎるので、それらも根であると仮定します)。私は実際に根を "強制的に"強制する代わりに、方程式を実際に解くべきだと思いますか?
ありがとうございました
これは良い質問ですが、実際はDartプログラミングに関するものではありません。 –