|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
06.03.2015, 00:02 | #1 (permalink) |
Новичок
Регистрация: 19.12.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Изменить программу интегрирования методом второго порядка. Pascal
Const Dt=0.1; V=-0.5; Q=0.0; Var f:Text; V_old,V_new,Q_old,Q_new,t:Real; i:integer; Begin Assign(f,'D:\Result1.txt'); Rewrite(f); t:=0; Q_old:=Q; V_old:=V; Writeln(f,t:5:1,Q:15:3,V:15:3); for i:=1 to 350 do begin t:=Dt*i; Q_new:=Q_old+V_old*Dt; V_new:=V_old+Exp(-Q_old)*(Exp(-Q_old)-1)*Dt; Writeln(f,t:5:1,Q_new:15:3,V_new:15:3); Q_old:=Q_new; V_old:=V_new; end; Close(f); End. Тут реализуется метод интегрирования даже не второго, а первого порядка, т.е. в один шаг. Он страшно неточный, поэтому решение раскачивается и все значения функций быстро нарастают. Поэтому нужно использовать метод хотя бы второго порядка (в два шага), а еще лучше - четвертого Рунге-Кутты. И шаг интегрирования должен быть примерно 0.001. Должны быть периодические функции. Шаг задаю, получаются периодические все правильно. Вместо от 1до350 я поставил от 1до35000. Но у меня не получается преобразовать из первого порядка во второй. Помогите пожауйста. |
06.03.2015, 00:02 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
В данных темах наверняка есть ответы которые прояснят ситуацию Составить программу интегрирования методом второго порядка. Pascal Полосовой фильтр второго порядка |
13.03.2015, 10:11 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Уважаемый kot64rus!
Извините, как-то ухитрился пропустить Ваш запрос. По сути же - так: 1. Методы численного решения линейных дифференциальных уравнений, в том числе Рунге-Кутты четвертого порядка, у меня подробно расписаны здесь: Численные методы решения дифференциальных уравнений. 2. Как перейти от уравнения второго порядка к системе линейных уравнений и уже её решить ясно из той (моей) программы, которую Вы приводите. Осталось соединить эти две премудрости, с чем Вы, я убежден, справитесь самостоятельно без особого труда. Было бы желание. P.S. И совершенно ни к чему было начинать новую тему по той же задаче. Вполне можно было продолжить эту: Составить программу интегрирования методом второго порядка. Pascal. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|