![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
justlikenirvanasback |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здравствуйте. Нужен взгляд человека понимающего Pascal. Расчёт уравнений двигателя постоянного тока по второму закону Киргофа методом Рунге-Кутты 4го порядка, кратко о нём:
2й Закон Киргофа для ДПТ: U=I*R+L*∂I/∂t+ω*Ce; I*Cm=J*∂ω/∂t+Mст далее уравнения приводятся к форме задачи Коши: ∂I/∂t=(U-I-R-ω*Ce)/L ∂ω/∂t=(I*Cm-Mст)/J далее уравнения дифференцируют для удобства записи (на шаге k+1): Ik+1=Ik+Δt*(U-Ik-R-ωk*Ce)/L ωk+1=ωk+Δt*(Ik*Cm-Mст)/J и собственно сам метод Рунге-Кутты k11 = dt*((U-Ik*R-ωk*Ce)/L) k21 = dt*((U-Ik*R-ωk*Ce)/L) + k11/2 k31 = dt*((U-Ik*R-ωk*Ce)/L) + k21/2 k41 = dt*((U-Ik*R-ωk*Ce)/L) + k31/2 k12 = dt*((Ik*Cm-Mc)/J) k22 = dt*((Ik*Cm-Mc)/J) + k12/2 k32 = dt*((Ik*Cm-Mc)/J) + k22/2 k42 = dt*((Ik*Cm-Mc)/J) + k32/2 тогда Ik=(Ik+1/6*(k11+k21*2+k31*2+k41)) ωk=(ωk+1/6*(k12+k22*2+k32*2+k42)) Теперь пытаюсь осуществить этот метод на Pascal. В 20 строке вещественное переполнение, могут быть и другие ошибки, поэтому прошу вашей помощи. Program RK_4; |
![]() ![]() |
![]() |
Текстовая версия | 23.06.2025 21:53 |