Форум программистов, компьютерный форум CyberForum.ru

Интерполяция Лагранжем - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить программу c использованием while и do.while http://www.cyberforum.ru/cpp-beginners/thread1042059.html
Составить программу для определения количества целых чисел из промежутка от X до Y, кратных заданному числу. Через for получается, а с while'ом завис. Помогите, кто знает.
C++ Определить принадлежность точки, координаты которой вводятся с клавиатуры, заштрихованной области Написать программу. Определить принадлежность точки, координаты которой вводятся с клавиатуры, заштрихованной области http://www.cyberforum.ru/cpp-beginners/thread1042058.html
C++ Определить, является ли треугольник, заданный координатами вершин, равносторонним, равнобедренным или общего вида.
Определите, является ли треугольник, заданный координатами вершин Р1(х1,y2), P2(x2,y2), P3(x3,y3), равносторонним, равнобедренным (не равностороним) или общего вида.
C++ Определить число безопасных стопок
При переработке радиоактивных материалов образуются отходы трех видов — особо опасные (тип A), неопасные (тип B) и совсем не опасные (тип C). Для их хранения используются одинаковые контейнеры. После помещения отходов в контейнеры последние укладываются вертикальной стопкой. Стопка считается взрывоопасной, если в ней подряд идет более одного контейнера типа A. Стопка считается безопасной, если...
C++ Общая функция для двух классов со списками http://www.cyberforum.ru/cpp-beginners/thread1042040.html
Есть два класса и общая функция для них. Она создает перечень из элементов принадлежащих первому и второму классу. Так вот, я пробовала открыть к ней доступ через дружественные классы и функции. Никакого толку. Может кто даст совет как работать с ней, использовать и к ней обращаться. Заранее благодарна. Код ниже. class dmassiv; class dmassiv { friend class dmassiv2; private: node1...
C++ Массив структуры через заголовочный файл! Помогите! Вот само задание,вот я сделал как то заголовочный файл,но правильно или нет не знаю,а сам код как написать(( подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
15.12.2013, 13:00     Интерполяция Лагранжем
Полиномы Лагранжа очень простые в своей задумке. В данном случае нужны 11 вспомогательных полиномов, по одному для каждого корня. Эти полиномы имеют простые свойства: каждый из них равен значению функции в "своём" корне и 0 во всех остальных. Если их сложить, то они дадут нам то, что требуется: функцию, принимающую значения y1...y11 в точках x0...x11.
Вспомогательный полином можно записать в двух видах: через коэффициенты при степенях или через корни и общий коэффициент. Допустим, мы считаем для корня x1. Здесь нам пригодится вторая форма записи a1*(x - x2)*(x-x3)*...*(x-x11).Остаётся найти коэффициент a1. Он должен быть таким, чтобы в точке x1 мы получали y1. Очевидно, надо посчитать, что получается при подстановке в полином x1 без коэффициента, а потом домножить на число, которое даст y1. Это число и будет a1 = y1 / ((x1-x2)*(x1-x3)*...*(x1-x11)).
Так мы можем найти a1...a11. Теперь потребуется перевести запись вспомогательных полиномов в первую форму. Надо по очереди раскрыть скобки и посчитать коэффициенты при степенях x. Потом сложить все 11 полиномов: суммировать коэффициенты при одинаковых степенях. Это и будет искомый полином Лагранжа.
 
Текущее время: 00:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru