Что именно этот вариант делает? Кажется, он просто установил соответствующие компоненты решения в ноль без какой-либо ошибки или повторил с меньшим шагом, поэтому я получаю поврежденное решение. Но если я ограничиваю шаг, все выглядит нормально (все компоненты положительны). Как я могу ограничить компоненты решения, которые должны быть сильными позитивными?Неотрицательный вариант в matlab odeset
0
A
ответ
0
1) неотрицательная опция позволяет проверить решение на каждый шаг интегрирования и заменить отрицательные значения с нулем (это может быть хорошо для некоторых проблем) 2) В моем случае я сделал следующие шаги:
- Некоторые оптимизации кода, включая аналитическое решение системы линейных алгебраических уравнений (которое решалось на каждом шаге интеграции)
- Использование AbsTol и RelTol. ABSTOL должно быть меньше, чем переменные в растворе на несколько порядков
Кроме того, в некоторых случаях имеет смысл попытаться решить уравнения без масштабирования
Смежные вопросы
- 1. Matlab - Odeset - Odeplot
- 2. Использование неотрицательной настройки в Matlab odeset()
- 3. неотрицательный параметр в функции ODE
- 4. Matlab: адаптация myODEfun для «векторизованного» свойства odeset
- 5. Scipy odeint неотрицательный раствор
- 6. Изменить один параметр odeset
- 7. вариант трендовая (Excel) в MATLAB
- 8. AtomicInteger: сохранить неотрицательный
- 9. Базовый MATLAB - как «создать» вариант
- 10. Расчет адреса: указатель + неотрицательный номер
- 11. Наименее неотрицательный остаток: Большие номера
- 12. Ищете вариант участка водопада в Matlab
- 13. Неотрицательный целочисленный тип данных в java
- 14. Самый быстрый способ получить неотрицательный компонент
- 15. gfortran Ошибка: Неотрицательный ширина требуется в формате строки в (1)
- 16. Как определить неотрицательный контраст в пределах внешнего ключа
- 17. - неотрицательный или недействительный CSS-код в соответствии с W3C?
- 18. Есть ли вариант структур Matlab, который не обеспечивает порядок полей?
- 19. Решение ОДУ в Matlab
- 20. Вариант реализации C++/длинный вариант
- 21. Переменный вход в ode 45, MATLAB
- 22. Преобразовать код Matlab в Simulink
- 23. Выделенный вариант в popupmenu
- 24. вариант lab.z в scatterplot3d?
- 25. Вариант резки в Mathematica
- 26. Вариант innodb в my.cnf
- 27. вариант записи в delphi
- 28. Вариант выбирается в CodeIgniter
- 29. Определить вариант в RichTextBox
- 30. Вариант обработки в WEKA
Перепишите систему, чтобы заменить эти значения логарифмов. Тогда экспонента новых переменных всегда будет положительной. Или используйте решатель для жестких систем. – LutzL
Я использую решатель для жестких систем ode15s, поэтому он возвращает хороший результат (со всеми положительными значениями), если я ограничиваю шаг интеграции, но в этом случае он работает слишком долго, а продукты слишком много значений (в результате мне необходимо обходное решение для случая с нехваткой памяти). – Leo
@LutzL Что значит «заменить их логарифмами»? – Leo