y ^ 2 = 4 * a * xの関数を描いてみましたしかし、私は問題に遭遇しました。 math.sqrt関数を使用して、2つの答えを持つ値の平方根を見つけると、+または-何か正の値しか得られません。つまり、4のsqrtが見つかった場合、+または-2ではなく+2を返します。
どんな助力も深く感謝します。
回答:
回答№1は2両方の値を返す独自のメソッドを作成できます。
public static IEnumerable<double> Sqrt(double d)
{
var result = Math.Sqrt(d);
yield return result;
yield return -result;
}
回答№2の場合は1
答えに-1を掛けて両方を取得することもできます。
回答№3の場合は0
読んだら ドクター (MSDNは本当に完成していて、よくできているので、質問する前に使用してください)パラメーター0または正の値で、 Math.Sqrt
のみを返しますdの正の平方根。"
負の値が必要な場合は、たとえば次のように自分で行う必要があります。
double value = 4;
double positiveSqrt = Math.Sqrt(value);
double negativeSqrt = positiveSqrt * -1;
回答№4の場合は0
正と負の両方の平方根を返す関数が本当に必要な場合は、非常に簡単に独自の関数を作成できます。
public static double[] Sqrts(double d) {
var v = Math.Sqrt(d);
return v == 0 ? new[] { v } : new[] { v, -v };
}