Аналитический метод решения дифференциальных уравнений в системе Matlab.

Для решения дифференциальных уравнений в MATLAB зарезервирована функция dsolve, которая имеет следующие форматы обращения:

1. если задано уравнение вида, то

х=dsolve, где первая производная функции обозначается Dх, - уравнение; x– возвращаемые функцией dsolve решения.

2. если задано уравнение вида, то

y=dsolve, где- уравнение; у – возвращаемые функцией dsolve решения.

3. если задано уравнение видапри , то

y=dsolve.

Пример: решить дифференциальное уравнение: при

>>x=dsolve('Dx=t*exp(-t)')

x =-t*exp(-t)-exp(-t)+C1 % общее решение

>> for C1=0:5:100 % построение множества интегральных кривых

x=-t*exp(-t)-exp(-t)+C1;

ezplot(x)

hold on

end

% Нахождение частного решения

>>x=dsolve('Dx=t*exp(-t)','x(0)=1')

x =-t*exp(-t)-exp(-t)+2 % частное решение

>> t=-6:0.1:6;

>> x=-t.*exp(-t)-exp(-t)+2;

>> y=plot(t,x)

y = 1.300002441406250e+002

>> set(y,'LineWidth',1.5,'Color','r')

>> axis([-6 6 0 80])

 

К сожалению, для многих практически важных случаев задачи, описываемые дифференциальными уравнениями, весьма сложны, и получить их точное решение оказывается затруднительно или невозможно. Эти трудности могут быть связаны с видом уравнения, например, с его нелинейным характером. Однако решить подобные сложные задачи также как и более простые можно с помощью компьютера. Поэтому численные методы решения дифференциальных уравнений на ЭВМ широко применяются в инженерной практике.