Форум программистов, компьютерный форум, киберфорум
MathCAD
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 7

Выход из интегрирования системы ОДУ (Given...Odesolve) по значению некоторого параметра (не времени)

23.06.2013, 11:13. Показов 2212. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как организовать выход из интегрирования системы ОДУ методом, например, Рунге-Кутты по значению не времени в конце интервала интегрирования, а по значению некоторой функции от интегрируемых функций. В качестве примера, движение брошенного тела как функция времени до достижения некоторой скорости (решать не надо, важно пояснить принцип).
Заранее благодарен наиболее развитой части человечества, ответившей на этот вопрос.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.06.2013, 11:13
Ответы с готовыми решениями:

Решить ОДУ 1-го порядка с использованием встроенной функции rkfixed, ОДУ 2-го порядка с помощью блока Given/Odesolve
Численное решение ОДУ 1-го и 2-го порядков Решить ОДУ 1-го порядка с использованием встроенной функции rkfixed, ОДУ 2-го порядка с...

Выход из системы и запрос пароля по истечению интервала времени
Дали по курсач, не могу выполнить курсовую, то есть решить задачу, буду ооочень признателен, И так вот: Разработать программу для...

Программа: автоматическое определение шага интегрирования ОДУ
Не могу найти ошибку в программе, точное решение не совподает с численым,сильный разброс результатов. Если не производить коррекцию...

16
Эксперт по математике/физике
2616 / 2230 / 684
Регистрация: 29.09.2012
Сообщений: 4,577
Записей в блоге: 13
24.06.2013, 14:52
Цитата Сообщение от Vladimir_RU Посмотреть сообщение
Как организовать выход из интегрирования системы ОДУ методом, например, Рунге-Кутты по значению не времени в конце интервала интегрирования, а по значению некоторой функции от интегрируемых функций.
Можно организовать цикл while, меняющий конечное время интегрирования с некоторым шагом до тех пор, пока не достигнем в текущий момент нужного критерия (например, когда скорость не достигнет нужного значения)
0
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 7
24.06.2013, 15:29  [ТС]
Да, Вы абсолютно правы. Но это похоже на программу в старых добрых языках программирования, где проводится интегрирование на один шаг, затем проверяется соответствующее условие. Просто хотелось бы изыскать форму условия в блоке given-odesolve для повышения скорости расчета.
0
 Аватар для уни
368 / 146 / 17
Регистрация: 06.03.2010
Сообщений: 327
Записей в блоге: 1
25.06.2013, 06:21
Приведите конкретный пример расчёта.
0
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 7
25.06.2013, 08:47  [ТС]
Пожалуйста, задача брошенного вверх тела с начальной скоростью 10 м/с
Определить время, когда скорость будет равна 4 м/с
Миниатюры
Выход из интегрирования системы ОДУ (Given...Odesolve) по значению некоторого параметра (не времени)  
0
321 / 289 / 104
Регистрация: 12.04.2011
Сообщений: 925
25.06.2013, 09:06
Только через программиНГ =(
Выполнение определённых действий по наступлению определённого условия..хотя...может быть есть что-то (функция).., но навряд ли...
0
Эксперт по математике/физике
2616 / 2230 / 684
Регистрация: 29.09.2012
Сообщений: 4,577
Записей в блоге: 13
25.06.2013, 09:44
1.Графическое решение. Дополнить ваш график горизонтальной прямой V=4 и найти абсциссу точки пересечения этой прямой с параболой.
2. Решить уравнение Vy(t)=4. например. так: root(Vy(t)-4,t,0,2)=
0
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 7
25.06.2013, 10:23  [ТС]
Так задача-то не в том, чтобы найти конкретное решение, а чтобы организовать процесс интегрирования с выходом по условию в рамках имеющихся операторов.
0
321 / 289 / 104
Регистрация: 12.04.2011
Сообщений: 925
25.06.2013, 10:48
Владимир, вы сами ответили на свой вопрос =)) "Выход по условию" )
Миниатюры
Выход из интегрирования системы ОДУ (Given...Odesolve) по значению некоторого параметра (не времени)  
0
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 7
25.06.2013, 12:47  [ТС]
господа, товарищи, люди....
Очевидно, я недостаточно точно выражаюсь. Анализировать полученное решение на предмет достижения значения некоторого заданного функционала проблем нет. Но представьте себе процесс интегрирования сложной системы уравнений и, строго говоря, по времени неизвестно сколько нужно интегрировать, поскольку нужно прекращение интегрирования только по достижению некоторого функционала.
Интегрировать заранее на большом интервале - нерационально.
Просто мне казалось, что могучий функционал mathcad'а должен был бы с этим справиться.
0
 Аватар для уни
368 / 146 / 17
Регистрация: 06.03.2010
Сообщений: 327
Записей в блоге: 1
25.06.2013, 17:09
Насколько мне известно, при численном решении ОДУ доступа к внутренним циклам нет, поэтому единственно что можно предложить, не делая вычисления целиком на интервале - это пошаговое интегрирование с проверкой и выходом по условию. При этом используется тот же блок численного решателя, но он работает по-точечно (по отрезкам) рекурсивно.
Миниатюры
Выход из интегрирования системы ОДУ (Given...Odesolve) по значению некоторого параметра (не времени)  
0
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 7
25.06.2013, 20:00  [ТС]
Спасибо, УНИ!
Возьму Ваше решение за основу. Интересно, а Matlab'е возможно вмешательство в процесс интегрирования?
0
Эксперт по математике/физике
2616 / 2230 / 684
Регистрация: 29.09.2012
Сообщений: 4,577
Записей в блоге: 13
25.06.2013, 21:14
Цитата Сообщение от Vladimir_RU Посмотреть сообщение
Как организовать выход из интегрирования системы ОДУ методом, например, Рунге-Кутты по значению не времени в конце интервала интегрирования, а по значению некоторой функции от интегрируемых функций. В качестве примера, движение брошенного тела как функция времени до достижения некоторой скорости (решать не надо, важно пояснить принцип).
Можно, например, так
1
 Аватар для уни
368 / 146 / 17
Регистрация: 06.03.2010
Сообщений: 327
Записей в блоге: 1
25.06.2013, 21:47
Цитата Сообщение от Symon Посмотреть сообщение
Можно, например, так
Вложение 286620
В вашем примере делаются лишние повторяющиеся расчёты на каждом шаге итерации. Это может очень сильно увеличить время расчётов. Посмотрите мой вариант, я двигаюсь по шагам, меняя начальное условие и отрезок интегрирования на каждом шаге. При этом затраты будут только на факт вызова функции rkfixed(), но она работает, вычисляя только одну следующую точку. В вашем случае каждый раз вычисления происходят от начала интервала до каждой последующей точки итерации. Это лишнее.
1
Эксперт по математике/физике
2616 / 2230 / 684
Регистрация: 29.09.2012
Сообщений: 4,577
Записей в блоге: 13
25.06.2013, 23:18
Цитата Сообщение от уни Посмотреть сообщение
В вашем примере делаются лишние повторяющиеся расчёты на каждом шаге итерации
Cпасибо. Вы правы. Это нетрудно исправить.
0
 Аватар для уни
368 / 146 / 17
Регистрация: 06.03.2010
Сообщений: 327
Записей в блоге: 1
26.06.2013, 01:16
Да, можно сделать вариант без рекурсии. Я в свой вариант добавил ещё ограничение по параметру t. Если одно условие не сработало, то нужно остановить вычисления по другому условию. Оператор Or не сразу у меня заработал как надо, пришлось менять местами выражения.
Миниатюры
Выход из интегрирования системы ОДУ (Given...Odesolve) по значению некоторого параметра (не времени)  
1
Эксперт по математике/физике
2616 / 2230 / 684
Регистрация: 29.09.2012
Сообщений: 4,577
Записей в блоге: 13
26.06.2013, 21:32
Цитата Сообщение от Vladimir_RU Посмотреть сообщение
Как организовать выход из интегрирования системы ОДУ методом, например, Рунге-Кутты по значению не времени в конце интервала интегрирования, а по значению некоторой функции от интегрируемых функций.
Можно предложить и такой вариант. Поиск точки выхода с помощью ползунка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.06.2013, 21:32
Помогаю со студенческими работами здесь

Решение системы ДУ функцией odesolve
Пыталась решить систему диффуров из 5 уравнений, но мне выскакивает ошибка "эта переменная не определена". Прикрепляю скрин (на нём не...

Как передать значение параметра функции одного экзешника значению параметра функции другому екзешнику?
Здравствуйте! Ребята подскажите по такому вопросу. У меня есть консольное приложение в котором происходит копирование файлов из...

Решение системы дифференциальных уравнений функцией -Odesolve
Выполнял задание с методички (решение системы диф. уравнений) и столкнулся, что odesolve выдаёт ошибку: "invalid independent...

Сгруппировать выборку по значению некоторого поля
Имеется следующая таблица: EmployeeID|Salary 1|10 2|10 3|15 4|20 5|20 Мне нужно сгруппировать выборку из этой таблицы по полю...

Решение системы диф. уравнений и построения графиков, используя odesolve\rkfixed
Привет, ребят. Сорри, кого уже со своими темами про диф уравнения задолбал, но пришлось сменить прошлую модель, тк там безвыходная ситуация...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru