Краевая задача в среде MATLAB



Краевую задачу в среде MATLAB рассмотрим на примере решения уравнения

            (76)

Решение задачи (76) предполагает переход от уравнения шестого порядка к представлению его в виде соответствующей системы уравнений шестого порядка. На листинге_№13 приведен код программы решения задачи (76). На рис.11 приведен итог работы кода листинга_№13. Помимо самой функции y(x), на рис.11 приведены также ее первые пять производных.

 

Листинг_№13

%Программа решения краевой задачи для уравнения

%y''''''+y=0 с краевыми условиями

%y(0)=y'(0)=y''(0)=-1,y'''(pi)=y''''(pi)=y'''''(pi)=1

function bvp

%задаем отрезок интегрирования

a=0; b=pi;

%определяем структуру начальных данных для функции bvp4c

solinit=bvpinit(linspace(a,b,15),[1 1 1 1 1 1]);

%решаем краевую задачу

sol=bvp4c(@f,@bound,solinit);

x = linspace(0,pi,30);

y = deval(sol,x);

%рисуем решение и пять первых его производных

plot(x,y(1,:),'-o',x,y(2,:),'-p',x,y(3,:),'-+',...

x,y(4,:),'-*',x,y(5,:),'-v',x,y(6,:),'-h');

%вычисление правой части системы уравнений

function dydx=f(x,y)

dydx=[y(2) y(3) y(4) y(5) y(6) -y(1)];

%определение краевых условий

function bnd=bound(ya,yb)

bnd=[ya(1)+1; ya(2)+1;ya(3)+1;yb(4)-1;yb(5)-1;yb(6)-1];

 

Рис.11. Решение краевой задачи (76)


[1] Самарский А.А., Гулин А.В. Численные методы. — М.: Наука, 1989. 430с.


Дата добавления: 2022-01-22; просмотров: 26; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!