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

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

15.11.2014, 08:00. Показов 2027. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru