Аз се опитах да начертая функцията на y ^ 2 = 4 * a * xно имам проблем. когато използвам функцията math.sqrt, за да намеря квадратния корен на стойност, която има два отговор + или нещо, което получавам само положителната стойност. т.е. ако намерих sqrt на 4 тя ще се върне +2 вместо + или -2.
Всяка помощ би била дълбоко ценена.
Отговори:
2 за отговор № 1Можете да напишете своя собствен метод, за да върнете двете стойности:
public static IEnumerable<double> Sqrt(double d)
{
var result = Math.Sqrt(d);
yield return result;
yield return -result;
}
1 за отговор № 2
Можете да умножете отговора с -1 и да получите и двете.
0 за отговор № 3
Ако четете док (MSDN е наистина завършен и добре направен, използвайте го преди да задавате въпроси), ще видите, че с параметър 0 или положителен, Math.Sqrt
връща само "Положителният корен на d."
Ако имате нужда от отрицателна стойност, трябва да го направите сами, например като това:
double value = 4;
double positiveSqrt = Math.Sqrt(value);
double negativeSqrt = positiveSqrt * -1;
0 за отговор № 4
Ако наистина искате функция, която връща както положителни, така и отрицателни квадратни корени, бихте могли да напишете своя собствена доста лесно:
public static double[] Sqrts(double d) {
var v = Math.Sqrt(d);
return v == 0 ? new[] { v } : new[] { v, -v };
}