|
3 / 3 / 0
Регистрация: 22.09.2010
Сообщений: 18
|
||||||||||||||||
Какой способ лучше для решения данной системы дифуров?22.09.2010, 19:08. Показов 1788. Ответов 10
Метки нет (Все метки)
Привет!)
У меня проблемка, не могу решить системы дифуров численно. Система: dx/dt=a1*x-b1*x*y dy/dt=-a2*x+b2*x*y где a1,a2,b1,b2 произвольные константы (пусть они равны еденице), начальные параметры и отрезок дифференцирования тоже не суть важно Дело даже не в том что я не могу написать код, а в том что происходит катастрофическое накопление погрешностей, если я использую например мотод Ранге-Кутта 4ого порядка или метод прогноз-коррекция. Возможно дело в том что общее решение включает в себя экспоненты, ... хотя какой дифур без них обходится... С методом Милна (на систему я его так и не обобщил) у меня вообще что то странное, происходит накопление погрешностей даже на ровном месте.... может я не правильно код написал??? Может кто укажет на ошибку но вроде все правильно (в функциях f1 и f2 задана другая система, я ее использовал для проверки правельности кода): Метод Рунге-Кутта 4ого порядка:
Метод Милна:
0
|
||||||||||||||||
| 22.09.2010, 19:08 | |
|
Ответы с готовыми решениями:
10
Системы дифуров, какой метод решения лучше? какой способ лучше для базового изучения 8.2 Какой способ измерения времени лучше использовать для получения данных с comport? |
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 22.09.2010, 21:23 | |
|
аналитически попробуй
, по размеру как раз выйдет как на один из методов, даже чуть меньше. ))
0
|
|
|
3 / 3 / 0
Регистрация: 22.09.2010
Сообщений: 18
|
|
| 22.09.2010, 21:33 [ТС] | |
|
Так в том то все и дело, что аналитически не получится! там слишком кривая ерунда получается...
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 22.09.2010, 22:33 | |
|
Шаг попробуй поуменьшать. f1 и f2 у тебя какие то мутные еще...
Добавлено через 13 минут это про рунге-кутта говорю, про остальные не знаю
0
|
|
|
3 / 3 / 0
Регистрация: 22.09.2010
Сообщений: 18
|
|
| 22.09.2010, 23:23 [ТС] | |
|
да ... там константы просто остались от старой системы, а так все нормально с ними
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
||||||
| 23.09.2010, 00:21 | ||||||
0
|
||||||
|
3 / 3 / 0
Регистрация: 22.09.2010
Сообщений: 18
|
|
| 23.09.2010, 00:39 [ТС] | |
|
Я уже говорил, что в функциях f1 и f2 задана другая система, а именно:
x'=y y'=(x/t-y)/t-x я ее ввел для проверки на правельность кода мне же нужно решить x'=a1*x-b1*x*y y'=-a2*x+b2*x*y да и это можно записать как: x'=f1(x,y) y'=f2(x,y) от t моя система не зависит Добавлено через 58 секунд то есть система которую мне нужно решить
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 23.09.2010, 03:38 | |
|
метод рунге-кутта решает уравнение вида x'=f1(x,y), когда x' - производная по y(т.е dx/dy), у тебя же это x'=f1(x,y), где x' производная по времени(от 3ей переменной).
0
|
|
|
3 / 3 / 0
Регистрация: 22.09.2010
Сообщений: 18
|
|
| 23.09.2010, 04:04 [ТС] | |
|
ты ошибся, то что ты написал верно для одномерного случая, а у меня система из 2ух дифуров и у меня 3 переменных (пусть будут не t,x,y как у меня, а x,y,z), тогда в общем случае можно написать
dy/dx=f1(x,y,z) dz/dx=f2(x,y,z) тогда то и получается что ты написал
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 23.09.2010, 11:29 | |
|
ну если так то извиняюсь
. Ошибка хоть как будет при многом количестве итерраций. Опять же можно уменьшать шаг или попробуй описать приближения более высоких порядков. Можно попробывать часть решить аналитически, связь между x и y находится легко аналитчески это точно. Дальше решать только одно уравнение, ошибку это должно уменьшить, но не думаю что существенно. Можешь поставить математические пакеты и пусть они попробуют решить аналитически ... не надо пренебрегать теорие в данном случае, в аналитическом нет ошибок вообще. На форуме есть раздел дифуров, там думаю математиков найдешь, которые тебе скажут точно есть ли решение у подобных уравнений.
0
|
|
|
3 / 3 / 0
Регистрация: 22.09.2010
Сообщений: 18
|
|
| 24.09.2010, 20:35 [ТС] | |
|
Всем спасибо, я сам разобрался!
0
|
|
| 24.09.2010, 20:35 | |
|
Помогаю со студенческими работами здесь
11
Какой SSD подойдет для данной системы
Есть ли более простой и оптимальный способ решения данной задачи? Какой цикл (For, While или Repeat) лучше использовать для решения задач с последовательностями? Какой способ лучше Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|