• Полином P(x) задан своими корнями и старшим коэффициентом an. P(x) = an * (x - R1) * (x-R2) * ... * (x - Rn) Дан массив координат X: x0, x1, ... Xm Вычислить массив значений полинома в точках xi
    Решение на с#

Ответы 1

  • Примерный код на C# для вычисления массива значений полинома P(x) в заданных точках xi:

    double[] X = { 1.0, 2.0, 3.0, 4.0 }; // массив координат X

    double[] R = { 0.0, 1.0, 2.0, 3.0 }; // массив корней полинома P(x)

    double a = 2.0; // старший коэффициент полинома P(x)

    // вычисляем массив значений полинома P(x) в заданных точках xi

    double[] P = new double[X.Length];

    for (int i = 0; i < X.Length; i++)

    {

    double xi = X[i];

    double pi = a;

    for (int j = 0; j < R.Length; j++)

    {

    double rj = R[j];

    if (xi != rj) // проверяем, что xi не равно rj, чтобы избежать деления на ноль

    {

    pi *= (xi - rj);

    }

    }

    P[i] = pi;

    }

    // выводим массив значений полинома P(x) на экран

    Console.WriteLine("Значения полинома P(x) в точках X:");

    for (int i = 0; i < X.Length; i++)

    {

    Console.WriteLine("P({0}) = {1}", X[i], P[i]);

    }

    В данном примере создаются массивы X и R, содержащие координаты точек xi и корни ri полинома P(x), соответственно. Также задается старший коэффициент a полинома.

    Затем вычисляется массив значений полинома P(x) в заданных точках xi. Для этого используется двойной цикл: внешний цикл проходит по всем элементам массива X, а внутренний цикл вычисляет значение полинома в каждой точке xi с помощью формулы P(xi) = a * (xi - R1) * (xi - R2) * ... * (xi - Rn). Внутренний цикл проходит по всем корням Rj, и для каждой точки xi вычисляется значение pi = a * (xi - R1) * (xi - R2) * ... * (xi - Rn). Если xi равно rj, то множитель (xi - rj) обращается в ноль, что приводит к делению на ноль, поэтому в этом случае множитель пропускается. Полученное значение pi записывается в массив P в соответствующей позиции.

    Наконец, вычисленные значения полинома P(x) выводятся на экран.

  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years