|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.01.2019, 19:41 | #1 |
Новичок
Джуниор
Регистрация: 12.01.2019
Сообщений: 6
|
Решение уравнения методом Адамса
Доброго времени суток всем!!! Помогите реализовать программу на С#.
Заряд (q) конденсатора с емкость С, который заряжается батареей (V), последовательно соединенной с резистором (R), описывается следующим уравнением: latex.gif Решите это уравнение методом Адамса при заданных значениях R=1000 ОМ, С=latex1.gif и начальном условии q=0 (t=0) на интервале latex3.gif Постройте графики. программа должна работать и с другими значениями Сравните результаты с аналитическим решением: latex4.gif Пожалуйста помогите! Мне нужна помощь в том, как это уравнение правильно записать методом Адамса. Заранее спасибо! Последний раз редактировалось kris_19; 12.01.2019 в 19:59. |
12.01.2019, 19:49 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Вы не перепутали "помогите" и "сделайте за меня"?
покажите свои наработки, конкретные вопросы и т.п. Если кто-то просто решит за вас, это вряд ли поможет вам разобраться. http://www.programmersforum.ru/announcement.php?f=31 Или в раздел Фриланс если вы не хотите ничего делать, а ищете кого-то, кто выполнит ваши задачи за вознаграждение.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
12.01.2019, 19:58 | #3 |
Новичок
Джуниор
Регистрация: 12.01.2019
Сообщений: 6
|
Мне нужна помощь в том, как это уравнение правильно записать методом Адамса, саму программу я сделаю.
Последний раз редактировалось kris_19; 12.01.2019 в 20:04. |
12.01.2019, 21:04 | #4 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
само описание на Wikipedia
Выбираете одну из формул, каким-нибудь простым методом (Эйлера или тем же Адамса по схеме прогноз-коррекция) получаете набор недостающих точек. После этого - просто табулируете функцию с шагом deltaT. Для сравнения с эталоном рядом выводите эталонное значение в точке T. Сама формула будет такой 1. y[n+1] вычисляется по формуле прогноза (явным методом Адамса — Башфорта) 2. y[n+1] вычисляется по формуле коррекции (неявным методом Адамса — Мультона) Два шага требуется из-за того, что для неявных методов требуется значение y[n+1], которое ещё не вычисленно (т.к. именно его и собираемся вычислять). Поэтому первое приближение получается по формуле прогноза, а по формуле коррекции его значительно уточняют. Последний раз редактировалось FPaul; 12.01.2019 в 21:18. |
12.01.2019, 21:47 | #5 |
Новичок
Джуниор
Регистрация: 12.01.2019
Сообщений: 6
|
Я не совсем понимаю как правильно записать уравнение методом Адамса, которое дано в условии.
|
12.01.2019, 22:00 | #6 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Для понимания соответствия формул, делаете замену q на y.
Вы имеете y'=f(t,y) т.е. f(t,y)=(V/R)-y/(R*C) А дальше численно решаете дифур, т.е. табулируете y(t) при t от 0 до 5*10^(-2). Т.к. точность не указана, то сделайте в 10 или 20 точках. Посмотрите пример вычислений без привязки к языку программирования http://info.alnam.ru/book_clm.php?id=112 на странице 450 Я поверхностно знаю C, заметно хуже C++ и совсем никак C#. Сделать даже подобие примера совсем не смогу. Последний раз редактировалось FPaul; 12.01.2019 в 22:06. |
12.01.2019, 22:11 | #7 |
Новичок
Джуниор
Регистрация: 12.01.2019
Сообщений: 6
|
Мне главное понять как правильно уравнение записывается математически, а в код смогу реализовать. С таким методом просто не сталкивалась, поэтому приходиться разбираться с нуля.
|
12.01.2019, 23:07 | #8 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
В результате программы должна получиться такого типа таблица
Код:
Первая строка - начальные значения. Вторая строка вычислена методом Рунге-Кутты 4 порядка. Третья строчка вычислена методом Рунге-Кутты 4 порядка. Четвёртая и последующие вычислены по формулам (прогноза и коррекции) метода Адамса 3 порядка |
12.01.2019, 23:33 | #9 |
Новичок
Джуниор
Регистрация: 12.01.2019
Сообщений: 6
|
Можете пожалуйста скинуть код, если не сложно
|
12.01.2019, 23:34 | #10 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
А что вам даст Pascal?
Код:
Последний раз редактировалось FPaul; 13.01.2019 в 00:11. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Решение задачи Коши для систем двух дифференциальных уравнений экстраполяционным методом Адамса | Шляпа | Общие вопросы C/C++ | 0 | 19.06.2015 13:26 |
решение уравнения методом итерации | mike1988 | Помощь студентам | 6 | 09.06.2015 10:25 |
"Решение системы линейных алгебраических уравнений методом простой итерации" и "Решение нелинейного уравнения методом итерации" | BORODA77 | Помощь студентам | 0 | 19.03.2014 17:31 |
решение уравнения методом хорд и методом Ньютона | Маргоша)) | Общие вопросы Delphi | 1 | 21.04.2010 20:40 |
Решение уравнения методом деления отрезка пополам. Методом секущей. | Panda196 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 25.11.2008 09:06 |