2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Формула Лагранжа
Сообщение18.06.2012, 18:49 


16/04/12
45
Уважаемые математики, помогите пожалуйста разобраться, в чём ошибка. Задача на составление полинома по формуле Лагранжа.
Дано:
Таблица зависимости температуры кипения жидкостей t от давления P.
-----------------------------------------------------------------------------------------------------------
Давление мм.рт.ст.| 10 | 20 | 40 | 60 | 100 | 200 | 400 | 760 |
-----------------------------------------------------------------------------------------------------------
Температура |84.6|99.3|115.4|125.8|139.9|161.2|185.8|210.6|
-----------------------------------------------------------------------------------------------------------
Необходимо методом интерполяции найти функцию t=f(P) для каждой из жидкостей и определить температуру их кипения при давлениях 50, 300 мм. рт. ст.
Я составил полином по формуле Лагранжа. Вот он:

L_7 (t)=((P-20)(P-40)(P-60)(P-100)(P-200)(P-400)(P-760))/(-75026250000000)*84,6+
((P-10)(P-40)(P-60)(P-100)(P-200)(P-400)(P-760))/32394240000000*99,3+
((P-10)(P-20)(P-60)(P-100)(P-200)(P-400)(P-760))/(-29859840000000)*115,4+
((P-10)(P-20)(P-40)(P-100)(P-200)(P-400)(P-760))/53312000000000*125,8+
((P-10)(P-20)(P-40)(P-60)(P-200)(P-400)(P-760))/(-342144000000000)*139,9+
((P-10)(P-20)(P-40)(P-60)(P-100)(P-400)(P-760))/8580096000000000*161,2+
((P-10)(P-20)(P-40)(P-60)(P-100)(P-200)(P-760))/(-391817088000000000)*185,8+
((P-10)(P-20)(P-40)(P-60)(P-100)(P-200)(P-400))/37218424320000000000*210,6;

Для 50 нашёл, подставив вместо Р это значение, получилось примерно 119,6 градусов, что удовлетворяет таблице. А вот для 300 получается 817 градусов. Это много. Вот расчёт с подставленным значением 300.

L_7 (t)=((300-20)(300-40)(300-60)(300-100)(300-200)(300-400)(300-760))/(-75026250000000)*84,6+
((300-10)(300-40)(300-60)(300-100)(300-200)(300-400)(300-760))/32394240000000*99,3+
((300-10)(300-20)(300-60)(300-100)(300-200)(300-400)(300-760))/(-29859840000000)*115,4+
((300-10)(300-20)(300-40)(300-100)(300-200)(300-400)(300-760))/53312000000000*125,8+
((300-10)(300-20)(300-40)(300-60)(300-200)(300-400)(300-760))/(-342144000000000)*139,9+
((300-10)(300-20)(300-40)(300-60)(300-100)(300-400)(300-760))/8580096000000000*161,2+
((300-10)(300-20)(300-40)(300-60)(300-100)(300-200)(300-760))/(-391817088000000000)*185,8+
((300-10)(300-20)(300-40)(300-60)(300-100)(300-200)(300-400))/37218424320000000000*210,6=

-18125,39883+51033,09033-69290,45782+45832,42857-9530,31459+875,79273+22,10501-0,05734 ≈
817.
Подскажите, что я неправильно делаю? Всё пересчитал не на один раз, но ответ большой.

 Профиль  
                  
 
 Re: Формула Лагранжа
Сообщение18.06.2012, 19:36 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Самый большой знаменатель, 37218424320000000000, трактуется как целое число (так как не имеет десятичного разделителя) и при этом выходит за пределы диапазона 64-разрядных целых. Поставьте в этом числе точку или запятую.

По-хорошему, то же надо сделать и в остальных знаменателях-монстрах, а ещё лучше записывать их в экспоненциальной форме, а ещё лучше нормировать все давления на атмосферное и работать с отношениями P/Patm (хотя это, возможно, для Вас будет сложновато).

-- Пн июн 18, 2012 18:45:29 --

Или же проблемы не возникло бы, если бы знаменатели подсчитывались автоматически, для чего надо написать цикл. И слагаемые суммировать можно тоже в цикле.

 Профиль  
                  
 
 Re: Формула Лагранжа
Сообщение18.06.2012, 20:17 


16/04/12
45
спасибо Вам, но я не программу пишу

 Профиль  
                  
 
 Re: Формула Лагранжа
Сообщение18.06.2012, 20:26 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Ясно. Ну, а значение t(300) исправилось?

 Профиль  
                  
 
 Re: Формула Лагранжа
Сообщение18.06.2012, 20:40 


16/04/12
45
я не проверял. суть в том, что мне даны конкретные значения.

 Профиль  
                  
 
 Re: Формула Лагранжа
Сообщение18.06.2012, 20:43 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Скорее всего, тогда дело в том, что интерполяция с помощью полиномов страдает известной болезнью: она точно проходит через заданные точки, но при этом совершает сильные колебания между точками, особенно на краях интервала. С этим ничего не поделаешь.

-- Пн июн 18, 2012 19:51:00 --

Да, дело в этом. Вот я построил график:
Изображение
Кривая проходит через все узлы, значит, всё правильно. Но при этом она начинает сильно раскачиваться на краю интервала, особенно если там узлы расположены редко.
Такая вот никуда не годная интерполяция по формуле Лагранжа.
Обратите внимание, для P=300 получаем как раз T=800 с хвостиком.

 Профиль  
                  
 
 Re: Формула Лагранжа
Сообщение18.06.2012, 20:53 


16/04/12
45
т.е., если я отправлю преподавателю такой ответ,это будет верным по Вашему? скорее всего здесь какая-то заковыка.

-- 18.06.2012, 22:56 --

ну всё-равно спасибо Вам огромное.

-- 18.06.2012, 23:00 --

а может Вы мне подскажете, с помощью какого метода мне построить полином?

 Профиль  
                  
 
 Re: Формула Лагранжа
Сообщение18.06.2012, 21:12 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
Если Вы не располагаете сведениями о том, что искомая функция, соответствующая узлам интерполяции, является степенным многочленом, то можно сделать заключение о том, что многочлен Лагранжа построенный на всех заданных узлах в данном случае не обеспечивает удовлетворительное решение задачи интерполяции, так как имеет место раскачка графика интерполирующей фнукции между узлами интерполяции.

Можно попробовать добавить фиктивных узлов интерполяции, расширив интервал интерполирования, надеясь на то, что раскачка интерполяционного многочлена отодвинеться на края этого интервала. Фиктивные узлы можно взять, например, на прямой, которая проходит через последние два узла интерполяции.

А вообще напрашивается какая-нибудь кривая с насышением.

 Профиль  
                  
 
 Re: Формула Лагранжа
Сообщение18.06.2012, 21:14 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
stas45rus писал(а):
т.е., если я отправлю преподавателю такой ответ,это будет верным по Вашему?
Если Вы покажете преподавателю график, вроде моего, и скажете: "Вот, смотрите, график проходит через узловые точки, но между ними совершает сильные колебания", преподаватель скажет: "А, ну так это хорошо известное явление!"

stas45rus писал(а):
с помощью какого метода мне построить полином?
Полином седьмой степени, проходящий через восемь заданных точек, единственный, и Вы его видите на графике. Его можно записывать в разных формах, но на его значения это не повлияет.

Вот здесь
http://www.ngpedia.ru/id282989p2.html
во втором абзаце найдёте такую фразу:
Цитата:
Попытки использования классических интерполяционных полиномов Лагранжа, Ньютона и других для вычерчивания лекальных кривых не привели к успеху из-за появления нежелательных перегибов и больших колебаний кривых на отдельных интервалах интерполяции.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group