Найдем решение символьно
>> syms S x t
>> S=dsolve('D2x+5*Dx+6*x=exp(-t)+exp(-2*t)','x(0)=0','Dx(0)=1')
S =
exp(-3*t)/2 + exp(-2*t)*(t + exp(t)) - (exp(-2*t)*(exp(t) + 2))/2
S – решение диф. уравнения символьно.
Проверим решение путем подстановки в исходное дифференциальное уравнение.
>> simplify(diff(S,2)+5*diff(S)+6*S-exp(-1*t)-exp(-2*t))
ans =
Тождество выполняется.
Найдем решение численно
Преобразуем дифференциальное уравнение в систему диф. уравнений. Сделаем замену.
x=x1
ẋ1=x2

X2(0)=1
X1(0)=0
Создадим M-функцию, определяющую правые части уравнения
function f=func44(t,x)
f=zeros(2,1);
f(1)=x(2);
f(2)=exp(-1*t)+exp(-2*t)-5*x(2)-x(1);
end
Воспользуемся функцией ode45 решения диф. уравнений.
>> [T,Y]=ode45(@func44,[0,3],[0 1])
Поскольку делали замену x=x1, нас интересует только первый столбец.
>> ezplot(S,[0,3])
hold on
plot(T,Y(:,1))
grid on
hold off
| Рис. 9. Графики символьного и численного решения
| |
>>