Решение дифференциальных уравнений высших порядков. Если в уравнении есть производные высших порядков, то действуем, преобразуя уравнение с понижением степени производной, но с увеличением числа переменных. Решим краевую задачу. d2x/dt2+4dx/dt+13x=esin t
при x(0.25)=-1, x/(0.25)=1 на интервале [0.25; 2].
Преобразуем следующим образом. Пусть y=dx/dt. Тогда получим систему уравнений.
| dy/dt=-4y-13x+esin t dx/dt=y |
с начальными условиями y(0.25)=1, x(0.25)=-1;
опишем ее в функции exSistVP.
| function f=exSistVP(t,x) f=[-4*x(1)-13*x(2)+exp(sin(t)); x(1)]; end |
Для ее решения воспользуемся функцией ode45.
| function Start_difur2 x0=[1;-1]; [T, X]=ode45(@exSistVP,[0.25 2], x0); plot(T, X(:,1),'r-',T,X(:,2),'g-') end | Ей передадим имя М-функции для вышеописанной системы, интервал изменения параметра Т, вектор х0 начальных условий для переменных |
Функция ode45 вернет нам матрицу для Х и вектор для Т. Построим (рис.1.33) график.
|
Рис.1.33. Решение диф. уравнения высших порядков.
Обработка результатов эксперимента. Построение полиномиальной зависимости. Для этого есть функция polyfit, которой передаются массив абсцисс, массив ординат (экспериментальных точек) и степень полинома, который требуется получить так, чтобы он описывал экспериментальную зависимость массива ординат от массива абсцисс. Функция возвращает вектор коэффициентов вышеупомянутого полинома.
| function Start_poly10 x=[0 4 10 15 21 29 36 51 68]; y=[66.7 71.0 76.3 80.6 85.7 92.9 99.4 113.6 125.1]; [a]=polyfit(x,y,1) xmas=0:0.1:68; ymas=a(1)*xmas+a(2); % для графика plot(x,y,'o',xmas,ymas,'-r'); end | %коэффициенты %полинома a = 0.8706 67.5078 |
Будет построен график (рис.1.34),на котором можно будет сравнить исходные точки и расчетный график. Расчетный график построен по коэффициентам полинома.
|






