|
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 48
|
||||||
Решить дифференциальное уравнение методом Рунге-Кутта 4 порядка (ode45)01.01.2014, 11:12. Показов 13785. Ответов 85
Метки нет (Все метки)
Добрый день!
Необходимо решить дифференциальное уравнение методом Рунге-Кутта 4 порядка. Уравнение подготовил, а вот как реализовать его через функцию ode45, с построением графика не знаю. Подскажите пожалуйста, какой код необходимо дописать? Код программы:
0
|
||||||
| 01.01.2014, 11:12 | |
|
Ответы с готовыми решениями:
85
Проинтегрировать дифференциальное уравнение второго порядка методом Рунге-Кутта Дифференциальное уравнение методом Рунге-Кутта. Решить ур-ние методом Рунге-Кутта порядка N=4 |
|
2835 / 2132 / 87
Регистрация: 02.05.2010
Сообщений: 3,194
|
||||||
| 01.01.2014, 12:26 | ||||||
Сообщение было отмечено как решение
Решение
Я немного откорректировала вашу программу: добавила начальные условия; взяла модуль под корнем. Теперь работает.
4
|
||||||
|
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 48
|
||||||
| 15.01.2014, 14:47 [ТС] | ||||||
|
original message
Izvinite chto translitom.
Pomogite razobratsya s ewe odnoi vesch'yu. Chto v matlabe est q(2) i chto est q(1) (15 stroka)? Pochemy sistema provodit rasschet ne imeya dannyx o etix peremennyx, prichem samoe interesnoe, sistema stroit iskluchitelno pri q1 i q2. q3 i t.d. - vydaet owibky. Xotel razobratsya podrobnee. Zaranee spasibo! Помогите разобраться с еще одной вещью. Что в матлабе есть q(2) и что есть q(1) (15 строка)? Почему система проводит расчет не имея данных о этих переменных, причем самое интересное, система строит исключительно при q1 и q2. q3 и тд - выдает ошибку. Хотел разобраться подробнее. Заранее спасибо!
0
|
||||||
|
2835 / 2132 / 87
Регистрация: 02.05.2010
Сообщений: 3,194
|
|
| 15.01.2014, 14:53 | |
|
f=@(t,q) [q(2);(q(2))];
Эта запись мне не понятна.
0
|
|
|
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 48
|
||
| 15.01.2014, 15:08 [ТС] | ||
|
original message
Vot i ya pro to govoryu. Vse delo v tom, chto iznachalno mne nygno bylo zaprogrammirovat formuly (prilogil kartinky). Chto sobstvenno ya i sdelal. Odnako v processe voznikli trydnosti ya ne znal kak v matlabe zaprogrammirovat proizvodnyu (dq/dt i d^2/dt^2). Poprosil cheloveka podskazat, seichas vozmognosti svyazatsya s nim net. Na chto polychil otvet: q(1)=q, a q(2)=dq/dt. V tot moment somnenii ne vozniklo. Vrode rabotaet. A vot kogda stal proveryat polychennyi rezyltat doskonalno vyshla beliberda.
Вот и я про то говорю. Все дело в том, что изначально мне нужно было запрограммировать формулу (приложил картинку). Что собственно я и сделал. Однако в процессе возникли трудности я не знал как в матлабе запрограммировать производную (dq/dt и d^2/dt^2). Попросил человека подсказать, сейчас возможности связаться с ним нет. На что получил ответ: q(1)=q, a q(2)=dq/dt. В тот момент сомнений не возникло. Вроде работает. А вот когда стал проверять полученный результат досконально вышла билиберда.
0
|
||
|
3 / 3 / 0
Регистрация: 10.03.2013
Сообщений: 96
|
|
| 15.01.2014, 16:09 | |
|
Тебе непонятно почему q1=q а q2=dq/dt ?
Я решала методом рунге кутта, задай вопрос поконкретнее) Тебе точно подходит ode45?
0
|
|
|
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 48
|
|||||||
| 15.01.2014, 21:26 [ТС] | |||||||
|
Добавлено через 4 часа 52 минуты Подскажите пожалуйста. Потиxоньку разбираюсь в матлабе. Пытаюсь решить диф. уравнение: V=R*dq/dt. Что делаю не так?
0
|
|||||||
|
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 11
|
||
| 16.01.2014, 00:22 | ||
|
http://www.mathworks.com/help/... ode45.html Когда я решала свою задачу, у меня не было сказано, что система жесткая, а на деле оказалось так, долго думала в чем проблема и почему ode45 не подходит, заменила на ode15s и все на свои места встало А в твоем 7 посте у тебя диффура первого порядка может стоит записать сперва в виде Коши?
0
|
||
|
|
|||||||||||||||||
| 16.01.2014, 16:50 | |||||||||||||||||
|
Moro1, нужно расписать красивенько функцию системы
![]()
вначале должна идти основная ф-ция, а потом ф-ция системы:
1
|
|||||||||||||||||
|
|
||||||||
| 16.01.2014, 17:42 | ||||||||
ты задаешь начальные условия x0 и формулы для производный по которым шаг за шагом высчитываются новые значения функции, и низших производных! В твоем случае диффура имеет второй порядок, т.к. фигурирует вторая производная. поэтому в качестве нач. условий нужно задать два значения: саму функцию q(1) (нулевая производная) и первую производную q(2) из которых уже будет рассчитана вторая производная, а по ней -значения ф-ции и первой производной в следующей точке! и так по шагам двигаемся до конца временного интервала. Смекаешь? ![]() Добавлено через 22 минуты V = R*dq/dt; dq/dt = V/R;
1
|
||||||||
|
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 48
|
||
| 16.01.2014, 18:14 [ТС] | ||
|
pochemy z(1) = 560/R; esli, sydya po Vashim zapisyam vyshe %q(1) -> q(t) (искомая функция) %q(2) -> dq/dt (первая производная) Po logike dolgno byt z(2) Chto to ya zapytalsya.
0
|
||
|
|
|
| 16.01.2014, 18:43 | |
|
Нужно различать входные данные и выходные!
![]() Входные - это t и q, а выходные тут z на вход подаем t и q и получаем в ответ zДобавлено через 8 минут давай рассмотрим еще парочку наглядных диффур ![]() Можешь записать систему для: dy - exp(-t) = 5*y;
0
|
|
|
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 48
|
|||||||
| 16.01.2014, 18:55 [ТС] | |||||||
0
|
|||||||
|
|
||||||
| 16.01.2014, 19:01 | ||||||
|
я подразумевал, что мы ищем не q(t), а y(t)
т.е. должно быть:
теперь давай возьмем примерчик повеселее ![]() d5y/dt5 + pi* d3y/dt3 - exp( d2y/dt2 - y ) + sin(t + y) = 0; *ищем также y(t)
0
|
||||||
|
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 48
|
|
| 16.01.2014, 19:16 [ТС] | |
|
Я извиняюсь, пример слишком веселый
![]() Что я растерялся...
0
|
|
|
|
||||||
| 16.01.2014, 19:30 | ||||||
|
тогда помогаю
![]()
0
|
||||||
|
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 48
|
||||||
| 16.01.2014, 20:48 [ТС] | ||||||
|
Daite ewe kakoi-nibyd primer. Vrode ponyatno. A vrode... vot tak porobyi drygomy obyasnit - ne obyasnyu.
Добавлено через 48 минут I ewe vopros. Chto est levaya edinica i chto est pravayu edinica (1,1; 2,1). Mne by kakyyunibyd ssylky na knigy ili material na saite, gde pro eto mogno prochitat. Spasibo zaranee. % dqdt(1,1) -> dq/dt (первая производная) % dqdt(2,1) -> d2q/dt2 (вторая производная) I proverte pogalyista tak li ya zapisal: zelenaya liniya zavisimost dq/dt(t). Tak?
0
|
||||||
|
|
||||||
| 17.01.2014, 16:00 | ||||||
|
Смотри
все матлабовские решатели odeXX требуют, чтобы функция системы возвращала вектор-столбец! Однако сделать столбец из набора данных (значений высших производных) можно разными стопобами в хелпе для этого вначале создают столбец нулей нужной длинны:Matlab M dy = zeros(5,1); % 5 строк и 1 столбец ) и указать расположение элементов явно:dqdt(1,1) - элемент в первой строке и в первом столбце dqdt(2,1) - элемент во второй строке и в первом столбце (это стандартная нумерация элементов в матлабе) поэтому в результате получаем массив dqdt в котором две строки и один столбец - т.е. именно то, что нужно! ![]() Кроме того, сделать столбец можно еще и так, как это предлагала ГалинаБорисовна:
Ясненько?
0
|
||||||
|
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 48
|
|
| 17.01.2014, 16:27 [ТС] | |
|
Prosti menya za moyu tverdolobost (mogete ne otvechat konechno, Vy i tak yge mnogo sdelali), kak togda programma opredelyaet stepeni proizvvodnye, chto est v skobkax: eto indeksy, ili ge eto stepeni? Ya prosto ne ponimayu kakaya svyaz mezdy y(3) i d3y/dt3, kak programma opredelyaet to chto nygno.
dy(1)=y(2); dy(2)=y(3); dy(3)=y(4); dy(4)=y(5); dy(5) = - pi* y(4) + exp( y(3) - y(1) ) - sin(t + y(1)) ;
0
|
|
|
|
|
| 17.01.2014, 16:33 | |
|
тут dy(i) и y(i) - это ничто иное как просто элементы массива, индексы!
просто мы их сами обозначаем так, как нам удобно, т.е. номер производной равен или подобен номеру элемента ![]() *просто я не преподаватель и не знаю, как доходчиво объяснить
1
|
|
| 17.01.2014, 16:33 | |
|
Помогаю со студенческими работами здесь
20
Уравнение, метод Рунге-Кутта 4 порядка
Решить ОДУ методом Рунге-Кутта 4 степени Решение системы ДУ 4-го порядка методом Рунге-Кутта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
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
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|