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

Решение дифференциального уравнения второго порядка аналитически, дальнейшее построение графика функцией step

11.03.2020, 17:23. Показов 1996. Ответов 20

Студворк — интернет-сервис помощи студентам
Всем доброе утро! Помогите, пожалуйста, с решением уравнения y''+1y'+4y=u, где y(0)=y'=0 и u(t) есть единичная ступенчатая функция. С функцией step +- знаком, но вот с аналитическим решением на бумаге и в принципе у меня с дифф.уравнениями не лады. Вроде как решается через коэффициенты перед y, но как это воплотить на бумаге и в матлабе, я теряюсь. Построение графика ф-ии с помощью step, надеюсь, осилю, но рекомендации лишними не будут)

Ух, ну понеслась нелёгкая.
изначальное ур-ие https://www.cyberforum.ru/cgi-bin/latex.cgi?\small y''+By'+4y=u, в дополнительном условии y(0)=y'=0 и u(t) есть единичная ступенчатая ф-ия. Причём она тут, я не понимаю, видимо, ей нужно тестировать данную функцию на какую-то реакцию (т.к. предмет, где нам такое задают, именуется теорией автоматического управления и преподаётся чуть более, чем никак). Временно забиваю на эту ступенчатую ф-ию и иду дальше.
Как подсказывает калькулятор, нужно представить уравнение по форме https://www.cyberforum.ru/cgi-bin/latex.cgi?\small y=e^r^x
Решение (аналитическое):
1. составляю характеристическое ур-ие (надеюсь, коэф-ы не потерял и не намудрил): https://www.cyberforum.ru/cgi-bin/latex.cgi?\small r^2+r+4=0
2. https://www.cyberforum.ru/cgi-bin/latex.cgi?\small D=1^2-16=-15, здесь должны быть по идее два корня r1 и r2, но, стыдно сказать, мы такого не проходили. Версия корней из интернет_калькулятора: https://www.cyberforum.ru/cgi-bin/latex.cgi?\small r1=1+sqrt15i/2*1=-1/2+1/2sqrt15i; r2=1-sqrt15i/2*1=-1/2-1/2sqrt15i
3. y1 и y2 находятся путём подставления значений r в вышеобозначенную форму:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\small y=e\frac{-1}{2}x*cos(1/2\sqrt{15x})
https://www.cyberforum.ru/cgi-bin/latex.cgi?\small y=e\frac{-1}{2}x*sin(1/2\sqrt{15x})
(не получается https://www.cyberforum.ru/cgi-bin/latex.cgi?\small 1/2 записать как степень, в которую возвели экспоненту в формулке)
4. Далее выводится формулка https://www.cyberforum.ru/cgi-bin/latex.cgi?\small \bar{y}={C}_{1}e\frac{-1}{2}x*cos(1/2\sqrt{15x}+{C}_{2}e\frac{-1}{2}x*sin(1/2\sqrt{15x} ,Ci ∈ R. Общее решение https://www.cyberforum.ru/cgi-bin/latex.cgi?\small y=y'+\bar{y}
5. Потом частное решение при условии: y(0) = 0, y'(0) = 0
y(0) = c1= первое ур-ие c1 = 0
Находим первую производную:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\small y'=-(sqrt(15)c1e-x/2sin(sqrt(15)x/2))/2-(c1e-x/2cos(sqrt(15)x/2))/2-(c2e-x/2sin(sqrt(15)x/2))/2+(sqrt(15)*c2e-x/2*cos(sqrt(15)x/2))/2
Поскольку y'(0) = https://www.cyberforum.ru/cgi-bin/latex.cgi?\small -c1/2+sqrt(15)*c2/2, второе уравнение: https://www.cyberforum.ru/cgi-bin/latex.cgi?\small -c1/2+sqrt(15)*c2/2
6.
c1 = 0
https://www.cyberforum.ru/cgi-bin/latex.cgi?\small c2=-c1/2+sqrt(15)*c2/2=0
7. Частное решение: https://www.cyberforum.ru/cgi-bin/latex.cgi?\small \bar{y}=0e\frac{-1}{2}x*cos(1/2\sqrt{15x})+0e\frac{-1}{2}x*sin(1/2\sqrt{15x})(опять степень экспоненты https://www.cyberforum.ru/cgi-bin/latex.cgi?\small \frac{1}{2}x уплыла)

Посмотрел примеры на экспоненте, как решают другие и затем записывают уравнение с графиком в матлаб.
Допустим, есть уравнение вида https://www.cyberforum.ru/cgi-bin/latex.cgi?\small y'''-2y''-y'+2y=0. Его аналитическое решение в матлабе записано как:
Matlab M
1
2
3
>> dsolve('D3y-2*D2y-Dy+2*y=0')
ans =
C1*exp(t)+C2*exp(2*t)+C3*exp(-t)
Matlab M
1
2
3
4
5
Численное: 
>> y0=[1 1 1 ];
>> tspan=[0 20];
>> [T,Y]=ode45('ex21',tspan,y0);
>> plot(T,Y)
Посмотрев не один такой пример, я так и не понял, как правильно составить код и прикрутить к постройке графика ф-ию step. Буду благодарен наводкам
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.03.2020, 17:23
Ответы с готовыми решениями:

Решение дифференциального уравнения второго порядка
Помогите решить Для уравнения y''=16.81*y Найдите решение y(t) и y'(t) в аналитическом виде для начального условия y(0)=1.0 ,...

Решение дифференциального уравнения второго порядка
Здравствуйте! Помогите, пожалуйста, решить это уравнение в MATLAB: y'' -4y'+5y=2*x^2*e^x. Решил его на бумаге и ответ не совпадает с...

Решение дифференциального уравнения второго порядка
Здравствуйте у мени ошибки в программе function dydt = myfun(t,y) global F m1 k1 k2 k3 a b; dydt = zeros(4,1); dydt(1) =...

20
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
15.03.2020, 21:40
Латекс формулы красивые, но аналитическое решение не осилил. Вы не описали функцию step
0
0 / 0 / 0
Регистрация: 09.03.2020
Сообщений: 9
15.03.2020, 21:47  [ТС]
Как понять "не описал"?
0
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
15.03.2020, 21:58
Цитата Сообщение от kotiksky Посмотреть сообщение
есть единичная ступенчатая функция
Это 0 и 1? Когда они наступают?
0
0 / 0 / 0
Регистрация: 09.03.2020
Сообщений: 9
15.03.2020, 22:01  [ТС]
Единичная ступенчатая ф-ия в задании- это y(0)=y'=0 и u(t).
>когда наступают
Вот это совсем бешеный вопрос для меня из разряда "смотрю в книгу, вижу фигу".
0
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
15.03.2020, 22:12
Я себе ступенчатую функцию так представляю
Миниатюры
Решение дифференциального уравнения второго порядка аналитически, дальнейшее построение графика функцией step  
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
15.03.2020, 23:08
Цитата Сообщение от nuHrBuH Посмотреть сообщение
Я себе ступенчатую функцию так представляю
Нет, ступенчатая функция, она же функция Хевисайда, равна 0 при t<0 и равна 1 при t>=0

Добавлено через 41 минуту
Matlab M
1
2
3
4
5
syms y(t)
Dy=diff(y,t);
cond=[y(0)==0 Dy(0)==0];
y(t)=simplify(dsolve(diff(y,t,2)+Dy+4*y==heaviside(t),cond))
fplot(y,[0 15]),grid on
Численное решение:
Matlab M
1
2
3
eqn=@(t,y)([y(2);1-y(2)-4*y(1)]);
[t,y]=ode45(eqn,[0 15],[0 0]);
plot(t,y(:,1)),grid on
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
15.03.2020, 23:13
почему бы не записать строку 4 проще
Matlab M
1
y(t)=simplify(dsolve(diff(y,t,2)+Dy+4*y==1,cond))
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
15.03.2020, 23:28
Цитата Сообщение от tokrab Посмотреть сообщение
почему бы не записать строку 4 проще
Потому что при t<0 функция будет равна 0.
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
15.03.2020, 23:45
Цитата Сообщение от Centurio Посмотреть сообщение
Потому что при t<0 функция будет равна 0
на решение это не влияет
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
16.03.2020, 00:22
Цитата Сообщение от tokrab Посмотреть сообщение
на решение это не влияет
Как не влияет? Получаются разные решения. При использовании функции heaviside в решении появляется функция sign, тогда как при использовании 1 её нет. И вообще, ответ отличается. Другое дело, что для построения графика можно ограничиваться использованием 1, так как интервал там начинается с нуля.
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
16.03.2020, 08:53
Цитата Сообщение от Centurio Посмотреть сообщение
Как не влияет?
к сожалению влияет, и "решение" трудно назвать решением
y(t) = -Inf*sign(sin((15^(1/2)*t)/2))
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
16.03.2020, 11:10
Цитата Сообщение от tokrab Посмотреть сообщение
к сожалению влияет
Вот я и говорю, что влияет
Цитата Сообщение от tokrab Посмотреть сообщение
"решение" трудно назвать решением
y(t) = -Inf*sign(sin((15^(1/2)*t)/2))
Не знаю, как у вас так получилось. У меня получилось по-другому:
y(t) =-(exp(-t/2)*(sign(t) + 1)*(15*cos((15^(1/2)*t)/2) - 15*exp(t/2) + 15^(1/2)*sin((15^(1/2)*t)/2)))/120
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
16.03.2020, 12:37
Цитата Сообщение от Centurio Посмотреть сообщение
У меня получилось по-другому:
в каком матлаб ваше решение ? я смотрел в 2016а
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
16.03.2020, 18:04
Цитата Сообщение от tokrab Посмотреть сообщение
в каком матлаб ваше решение ?
В R2019b.
0
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
16.03.2020, 19:07
kotiksky
не слышно ничего от человека
0
0 / 0 / 0
Регистрация: 09.03.2020
Сообщений: 9
21.03.2020, 19:40  [ТС]
в 2015м

Добавлено через 1 минуту
Цитата Сообщение от nuHrBuH Посмотреть сообщение
kotiksky
не слышно ничего от человека
К сожалению, из-за работы имею возможность заниматься только по выходным

Добавлено через 19 минут
Стреляемся дальше. "Аналитически" вот такая формула у меня получилась:

Matlab M
1
2
3
4
dsolve('D2y+Dy+4*y=u')
ans =
 
u/4 + C1*exp(-t/2)*cos((15^(1/2)*t)/2) + C2*exp(-t/2)*sin((15^(1/2)*t)/2)
Теперь бы с численным вроде как надо разобраться, и построить график c помощью step
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
22.03.2020, 07:53
Цитата Сообщение от kotiksky Посмотреть сообщение
Теперь бы с численным вроде как надо разобраться
Я приводил численное решение выше. Какие вопросы у вас возникли по нему?
0
0 / 0 / 0
Регистрация: 09.03.2020
Сообщений: 9
22.03.2020, 10:22  [ТС]
Цитата Сообщение от Centurio Посмотреть сообщение
Я приводил численное решение выше. Какие вопросы у вас возникли по нему?
что такое eqn и ode45, мне непонятно.
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
22.03.2020, 10:51
Цитата Сообщение от kotiksky Посмотреть сообщение
что такое eqn и ode45, мне непонятно.
eqn - это функция системы из двух дифференциальных уравнений, на которые расписывается уравнение второго порядка. ode45 - встроенный решатель дифференциальных уравнений, который решает дифуры методом Рунге-Кутты 4-5 порядков.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.03.2020, 10:51
Помогаю со студенческими работами здесь

Решение дифференциального уравнения второго порядка
Помогите пожалуйста, в чем ошибка? почему он пишет Unitless???

Общее решение дифференциального уравнения второго порядка
Здравствуйте, во вложении файл &quot;график&quot;, можно ли в маткаде найти общее решение для уравнения. Если можно, покажите пожалуйста на моем...

Частное решение дифференциального уравнения второго порядка
помогите найти частное решение дифференциального уравнения, удовлетворяющее данным начальным условиям. y&quot;-4y=18e2x y(0)=1,...

Найти общее решение дифференциального уравнения второго порядка
Найти общее решение дифференциального уравнения второго порядка:

Найти общее решение дифференциального уравнения второго порядка!
\left(1+{x}^{2} \right)*{y}^{&quot;}+{\left({y}^{'} \right)}^{2}+1=0 Редактор формул применяйте грамотно.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru