Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 59

Неявный метод Эйлера решения ОДУ

11.04.2020, 23:24. Показов 3526. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Имеется такое ОДУ:
https://www.cyberforum.ru/cgi-bin/latex.cgi?8y'''(t)+10.8y''(t)+2.9y'(t)+y(t)=10
https://www.cyberforum.ru/cgi-bin/latex.cgi?y(t)=y'(t)=y''(t)=0
на интервале https://www.cyberforum.ru/cgi-bin/latex.cgi?t\in[0, 60]
Требуется построить разностную схему для решения ОДУ неявным методом Эйлера.
Для начала нужно привести ОДУ к виду https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{dX}{dt}=f(X) и уже на этом этапе у меня проблемы, я не понимаю как это должно выглядеть. С самим методом Эйлера я более-менее разобрался, вычисления смог бы скорее всего выполнить, но вот этот первый шаг меня вводит в ступор, спасите пожалуйста!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.04.2020, 23:24
Ответы с готовыми решениями:

Метод Эйлера для решения ОДУ
дано дифференциальное уравнение вида dy/dx=1+y/x+exp(y/x) Программу написал, но почему-то не рисует график. Может я ошибся где-нибудь....

Метод Эйлера для решения ОДУ первого порядка
Здравствуйте! Вроде бы реализовала программу для решения диффура 1-го порядка методом Эйлера (функция y=xcos(x), пределы...

Неявный метод Эйлера
Исследовать решение уравнения y'=-(1/t^2)+100*(y-1/t), y(1)=1 Получить численные решения задачи на различных промежутках с помощью...

6
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
12.04.2020, 01:05
Цитата Сообщение от Hirurg2605 Посмотреть сообщение
Для начала нужно привести ОДУ к виду
Имеется в виду следующее: если имеется уравнение x'' + x' + x = 1
Например: x - перемещение, v - скорость, a - ускорение. Тогда:
x'' = 1 - x - x'
x(i+1) = x(i) + v*dt
v(i+1) = v(i) + a*dt
y''' Ваше ускорение
1
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 59
12.04.2020, 11:29  [ТС]
Спасибо за ответ! Правильно ли я понимаю, что в моём случае будет как-то так?
https://www.cyberforum.ru/cgi-bin/latex.cgi?y'''=(10-y-2.9y'-10.8y'')/8
https://www.cyberforum.ru/cgi-bin/latex.cgi?y_{i+1}=y_i+\frac{dy(t_i)}{dt}
https://www.cyberforum.ru/cgi-bin/latex.cgi?y'_{i+1}=y'_i+\frac{dy'(t_i)}{dt}
https://www.cyberforum.ru/cgi-bin/latex.cgi?y''_{i+1}=y''_i+\frac{dy''(t_i)}{dt}
https://www.cyberforum.ru/cgi-bin/latex.cgi?y'''_{i+1}=y'''_i+\frac{dy'''(t_i)}{dt}
Дальше вроде бы что-то вырисовывается, но как-то не так:
в правой части мы получаем что-то похожее на https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{dX}{dt}, наверное уже можно применять метод Эйлера, например для yi+1 получается
https://www.cyberforum.ru/cgi-bin/latex.cgi?y_{i+1}=y_{i}+\frac{dy(t_i)}{dt}=y_{i}+\frac{y_{i+1}-y_i}{h}=y_{i}+f(t_i, y_i)
это по явной схеме Эйлера, по неявной в конце будет https://www.cyberforum.ru/cgi-bin/latex.cgi?f(t_{i+1}, y_{i+1}), но для начала лучше сделать по явной.
Теперь надо что-то подставить вместо https://www.cyberforum.ru/cgi-bin/latex.cgi?f(t_{i}, y_{i}), получить https://www.cyberforum.ru/cgi-bin/latex.cgi?y_{i+1}, но если я правильно понял, то у нас по условию https://www.cyberforum.ru/cgi-bin/latex.cgi?f(t_{i}, y_{i})=0, следовательно всегда будет https://www.cyberforum.ru/cgi-bin/latex.cgi?y_{i+1}=y_{i}
Как быть, что я делаю не так?
0
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
12.04.2020, 14:58
А это кто такие?
https://www.cyberforum.ru/cgi-bin/latex.cgi?y'''_{i+1}=y'''_i+\frac{dy'''(t_i)}{dt}
Цитата Сообщение от Hirurg2605 Посмотреть сообщение
Как быть, что я делаю не так?
А откуда такие сомнения?
0
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 59
12.04.2020, 15:37  [ТС]
Видимо я вас совсем не понял и сейчас пошёл другим путём (а может быть и тем же, сложно сказать ).
В общем, я решил преобразовать ОДУ 3 порядка к системе из 3 уравнений первого порядка:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases} y'=y_1 \\  y_1'=y_2 \\  y_2'=f(t,y,y_1,y_2)  \end{cases}
где
https://www.cyberforum.ru/cgi-bin/latex.cgi?f(t,y,y_1,y_2)=(10-y-2.9y_1-10.8y_2)/8

Добавлено через 20 минут
но всё равно какая-то ерунда получается, т.к. у не меняются на каждом шаге, и в правой части последнего уравнения нет t, получается константное значение y'2=10/8 на каждом шаге...

Добавлено через 2 минуты
Цитата Сообщение от nuHrBuH Посмотреть сообщение
А это кто такие?
это лишнее, я уже понял, но от того не легче.
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
13.04.2020, 07:47
Лучший ответ Сообщение было отмечено Hirurg2605 как решение

Решение

Цитата Сообщение от Hirurg2605 Посмотреть сообщение
но всё равно какая-то ерунда получается
Вам надо привести ваше уравнение к системе из 3-х диффуравнений 1-го порядка (т.н. приведение к машинному виду)

dy2/dt= (10-y-2.9*y1-10.8*y2)/8
dy1/dt=y2
dy/dt=y1

и решать эту систему с начальными условиями
1
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 59
13.04.2020, 11:06  [ТС]
SSC, спасибо за ответ! Я вчера ещё осознал, что мне нужно перейти от одного уравнения к системе, и понял как можно модифицировать код, который есть на соседних ветках, для моего случая. Вроде бы получилось правдоподобное решение, даже код неявного метода Эйлера из явного смог получить, но пока преподаватель не принял, не могу быть уверен что всё правильно понял
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.04.2020, 11:06
Помогаю со студенческими работами здесь

Метод Эйлера для ОДУ
Помогите,пожалуйста, решить в Matlab ОДУ(задачу Коши) методом Эйлера

Метод Рунге-Кутты для решения системы ОДУ
Не могу преобразовать систему в уравнения первого порядка. Помогите пожалуйста . Добавлено через 9 часов 33 минуты Система ОДУ: ...

Метод Рунге-Кутты для решения системы ОДУ
4 дня сижу и пытаюсь понять этот метод(

Метод эйлера для решения уравнения
помогите написать программу для решения данного уравнения) нужно решать методом эйлера) вариант 6)

Метод Эйлера и метод Эйлера-Коши нужно найти ошибку?
Нужно решить дифур методом Эйлера и Эйлера-Коши,я решил все работает но по идее метод Эйлера менее точный чем метод Эйлера-Коши а у меня...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
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
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru