|
0 / 0 / 0
Регистрация: 11.12.2023
Сообщений: 17
|
|
Решение дифференциального уравнения методом Эйлера08.02.2024, 15:18. Показов 1013. Ответов 6
Метки нет (Все метки)
0
|
|
| 08.02.2024, 15:18 | |
|
Ответы с готовыми решениями:
6
Решение нелинейного уравнения методом хорд |
|
Модератор
10373 / 5659 / 3398
Регистрация: 17.08.2012
Сообщений: 17,281
|
|||||||||||
| 16.02.2024, 00:25 | |||||||||||
|
Перепишем уравнение в следующем виде:
Это обыкновенное дифференциальное уравнение второго порядка. По методу Эйлера получим две рекуррентных формулы для y' и y: Для Pascal ABC.NET:
1
|
|||||||||||
|
222 / 57 / 18
Регистрация: 13.03.2017
Сообщений: 295
|
||||||
| 22.02.2024, 18:20 | ||||||
|
Интересная задачка.
Совсем небольшая модификация метода Эйлера повышает точность интегрирования более чем в 1000 раз (3 порядка). А простое уменьшение шага интегрирования в два раза (0.025) дает повышение точности только в два раза!
1
|
||||||
|
222 / 57 / 18
Регистрация: 13.03.2017
Сообщений: 295
|
|
| 23.02.2024, 15:05 | |
|
Cyborg Drone,
Здравствуйте. Спасибо за оценку моего небольшого исследования. Можно вопрос немного не по теме? Как хобби, занимаюсь проблемами высокоточного численного интегрирования дифференциальных уравнений движения тел, в частности планет солнечной системы и численного решения "задачи трех тел". Есть неплохие результаты. Одна из проблем не дает мне покоя. Для высокой точности интегрирования при больших расстояниях и малых приращениях желательно использовать переменные с большой разрядностью. для этой цели я применяю переменные типа "Decimal". поэтому и освоил Pascal. Но есть недостаток, переменные "Decimal" работают в среднем в 25 раз медленнее, чем "Real" имеют фиксированную запятую и весьма ограниченный диапазон слишком больших и слишком малых значений для астрономических расчетов. Слышал, что в последних версиях Delphi существует новая переменная типа"Double Double", которая только в 10 раз медленнее чем "Real" ("Double"), может быть Вы подскажете мне что-нибудь по этой переменной?
0
|
|
|
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
|
|
| 24.02.2024, 19:08 | |
|
Сергей Игнатьев,
decimal это в первую очередь для финансовых расчётов.Оно неэффективно и по скорости, и по памяти - а значит меньше точности в своих 128 битах. Но взамен хранит числа в 10-ичной СС, а не 2-ичной, таким образом давая более "денежное" округление. Нормальное 128-битное число с плавающей точкой поддерживается не всеми процессорами, и поэтому обычно его реализует компилятор, используя числа меньшей битности. Я бы на вашем месте реализовал бы это вручную, или хотя бы использовал бы готовую библиотеку с числами произвольной точности. P.S. Ну то есть, и не "бы", а уже вот: https://github.com/SunSerega/t... ing.cl#L29 Тут точность вообще произвольная. И код этот для GPU (для OpenCL), потому что когда можно распараллелить - оно быстрее чем CPU. Даже в моём случае, с нереально старым GPU и более-менее нормальным CPU. Но операции я реализовал только те, что понадобились мне. Поэтому не особо модульно - в частности point_component_mul_shl1, делающее 2 операции сразу.
2
|
|
|
222 / 57 / 18
Регистрация: 13.03.2017
Сообщений: 295
|
|||
| 25.02.2024, 06:44 | |||
|
Sun Serega,
Благодарю за помощь, Вы пишете про применение "decimal": Так решение 1000 уравнений с переменными "real" методом обращения матрицы коэффициентов с выбором главного элемента у меня проходит за 10 сек и максимальная невязка решения (разница между левой и правой частями) имеет порядок 4е-10, а решение тестовой задачи с переменными "Decimal" занимает уже 200 сек и дает максимальную невязку 1е-23, то есть точность вполне приемлемая, но время расчета великовато. Более сложные системы требуют увеличение числа уравнений, например 5000 уравнений решаются с "real" за 1250 сек, максимальная невязка уже 5е-7. Компьютер тянет и 10000 уравнений, но погрешность с "real" становится неприемлемо большой, а использование "Decimal" слишком затратно по времени. Хорошее предложение использовать
0
|
|||
|
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
|
||||||
| 25.02.2024, 11:10 | ||||||
|
Я сам никогда такую библиотеку не использовал, но знаю что они существуют.
Считая ваш опыт с точностью - я бы сделал такую запись:
Готовой такой записи у меня нету, но по ссылке выше я привёл пример где уже реализованы такие операции как сложение и умножение на языке OpenCL-C. Кроме того, вам нужна научная нотация в числах? То есть выделение части бит под экспоненту. Возможно лучше реализовать не Float128 а Fixed128, где точка между целой и дробной частью стоит в заранее известном месте - это на много проще.
1
|
||||||
| 25.02.2024, 11:10 | |
|
Помогаю со студенческими работами здесь
7
Численное решение дифференциального уравнения методом Эйлера Решение задачи Коши для обыкновенного дифференциального уравнения методом Эйлера Написать программу решения дифференциального уравнения методом Эйлера, модифицированным методом Эйлера, исправленным мет Решение дифференциального уравнения по методу Эйлера Решить задачу Коши для обыкновенного дифференциального уравнения методом Эйлера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs
. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|