Y=-2*x2+3*x+1.5 Составить алгоритм для поиска max значения y, х изменяется в диапазоне 0.1<=х<=1 с шагом дх=0 - C#
Формулировка задачи:
Дана функция y=-2*x2+3*x+1.5. Составить алгоритм для поиска максимального значения y, если х изменяется в диапазоне 0.1<=х<=1 с шагом dх=0.01. Помогите, пожалуйста, написать на C#. Искал на форуме, но ничего подобного нет с таким диапазоном и шагом.
Решение задачи: «Y=-2*x2+3*x+1.5 Составить алгоритм для поиска max значения y, х изменяется в диапазоне 0.1<=х<=1 с шагом дх=0»
textual
Листинг программы
class Program
{
static double f(double x)
{
return 2* x * x - 3 * x -1.5;
}
static void Main(string[] args)
{
double a = 0.1, b = 1, eps = 0.01, z = (3 - Math.Sqrt(5)) / 2;
double x1 = a + z * (b - a), x2 = b - z * (b - a);
for (int i = 0; b - a > eps; i++)
{
if (f(x1) <= f(x2))
{
b = x2;
x2 = x1;
x1 = a + b - x2;
}
else
{
a = x1;
x1 = x2;
x2 = a + b - x1;
}
}
double x = (a + b) / 2;
Console.WriteLine(x);
Console.WriteLine(f(x));
Console.ReadKey();
}
}