Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для 4unkur
16 / 16 / 10
Регистрация: 16.06.2014
Сообщений: 180

Найти значение производной в одной точке полинома 10-степени (с использованием формулы Лагранжа)

15.11.2014, 08:00. Показов 2057. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Нужно найти значение производной в одной точке полинома 10-степени. Для вычисления используется формула Лагранжа
https://www.cyberforum.ru/cgi-bin/latex.cgi?f'(x) = {L'}_{n}({x}_{0}+th) = \frac{1}{h}\sum_{i=0}^{n}{y}_{i} \; \frac{{(-1)}^{(n-i)}}{i!(n-i)!}\;\frac{d}{dt}(\frac{{t}^{[n+1]}}{t-i})
Здесь
https://www.cyberforum.ru/cgi-bin/latex.cgi?{t}^{[n+1]}=t(t-1)(t-2)...(t-n), https://www.cyberforum.ru/cgi-bin/latex.cgi?t = \frac{x - {x}_{0}}{h}
В условии даются значения:
11 точек x (массив x), значения f(x) (т.е массив y) и собственно точка x, для которой нужно найти значение первой производной полинома.

Для вычисления производной из формулы Лагранжа я использовал формулу https://www.cyberforum.ru/cgi-bin/latex.cgi?f'({x}_{0}) \approx \frac{f({x}_{0} + h) - f({x}_{0})}{h}

Ответ я уже знаю, но почему то моя программа выдает значение больше. Ответ должен быть 5.01612, а у меня 26.1657

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <iomanip>
#include <cmath>
 
using namespace std;
 
double f(double t, int i, int n) {        // функция ( t(t-1)...(t-n) ) / t-i )
    
    double res = 1;
    
    for (int j=0; j<=n; ++j) {
        
        if (i == j) continue;
        else res *= t - j;
    }
    
    return res;
}
 
double diff(double t, int i, double h, int n) {    // вычисление производной
    
    double fth = f(t + h, i, n);
    double ft = f(t, i, n);
    
    return (fth - ft) / h;
}
 
int fact(int x) {                                   // факториал
    
    if(x == 0 || x == 1) return 1;
    else {
        
        int p = 1;
        
        for (int i=x; i>1; --i) {
            p *= i;
        }
        
        return p;
    }
}
 
int main () {
    const double dx = 0.005;                  // Это h
    const double X = 1.374;                   // та самая точка
    const int n = 10;
    const double y[] = {4.3532, 4.4552, 4.5618, 4.6734, 4.7903, 4.9130, 5.0419, 5.1774, 5.3201, 5.4706, 5.6296};
    
    double x[n+1];
    
    for (int i=0; i<=n; ++i) {                  // заполнение массива x с шагом dx   (h)
        
        if (i == 0) x[i] = 1.345;
        else x[i] = x[i - 1] + dx;
    }
    
    double t = (X - x[0]) / dx;
    double sum = 0;
    
    for (int i=0; i<=n; ++i) {
        
        sum += (y[i] * pow(-1, (n - i)) * diff(t, i, dx, n)) / (fact(i) * fact(n - i));
    }
    
    double S = sum / dx;
 
    cout << "The answer is: " << S << endl;
    return 0;
}
Добавлено через 2 часа 13 минут
Я уже несколько раз перепроверил все функции. Все вроде нормально, но вот ответ неправильный. Кто-нибудь посмотрите, может я чего-то не замечаю?

Добавлено через 13 часов 10 минут
Тема все еще актуальна
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.11.2014, 08:00
Ответы с готовыми решениями:

Вычислить значение полинома четвёртой степени в заданной точке (линейная программа)
Вычислить значение полинома четвёртой степени в данной точке x. Коэффициенты полинома ввести с клавиатуры. Результат выводить с точностью n...

Даны два многочлена n-ой степени, определить значение много члена и его производной, наиб. значение и знач. производной
Здравствуйте ю, уже 2-уж неделю сижу и понять не могу, как это сделать..( Помогите пожалуйста 😊 Даны два многочлена n-ой...

Подскажите формулу для нахождения второй производной в точке x1 с помощью полинома Лагранжа шестой степени
Здравствуйте! Функция задана семью точками. Подскажите, пожалуйста, формулу для нахождения второй производной в точке x1(вторая точка)...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.11.2014, 08:00
Помогаю со студенческими работами здесь

Используя только линейные списковые структуры вычислить значение первой производной полинома в заданной точке x
Это задание надо выполнять без использования двоичных деревьев, а используя только линейные списковые структуры. Во входном файле...

Вычислить значения 1й и 2й производной в точке х=0.1 методом Лагранжа
Дана функция y(x)=exp((-x^2)/2), x:= 1. Получить таблицу значений с шагом h=0.2 (в принципе, сделал, но не программно, а тупо, прибавляя ...

найти значение производной в заданной точке
y=(1+x)sqrt(2+x^2)sqrt^3(3+x^3), x=1 помогите решить, знающие.. https://www.cyberforum.ru/mathematics/thread914432.html...

Найти значение производной функции в точке
номер 2, 3 вариант: f(x)=x/(x+1) в точке x=-2

Найти значение производной тригонометрической функции в точке
f(x)=4\sin{x}-\cos{x} при x=-\frac{\pi}{4}


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru