Этот пример показывает, как использовать ddesd
, чтобы решить систему двух DDEs с задержкой состояния зависимой. Эта система DDEs использовалась в качестве тестовой задачи Энрайтом и Хаяши [1].
Нажмите ddex3.m
или введите edit ddex3.m
в командном окне, чтобы просмотреть полный код для этого примера в редакторе.
Уравнения для этой системы:
Аналитическое решение
используется в качестве истории для t ≤ 0.1, и уравнения решены на [0.1, 5]
с ddesd
, а не dde23
. Функция ddesd
является соответствующей в этом случае, потому что первый фактор во втором уравнении имеет форму y2 (d (y)) с задержкой, которая зависит от второго компонента решения.
Создайте новый программный файл в редакторе. Этот файл будет содержать основную функцию и три локальных функции.
Закодируйте систему DDEs как локальная функция.
function dydt = ddex3de(t,y,Z) dydt = [y(2); -Z(2)*y(2)^2*exp(1 - y(2))]; end
Задайте задержку как локальную функцию.
function d = ddex3delay(t,y) d = exp(1 - y(2)); end
Задайте историю решения как локальную функцию.
function v = ddex3hist(t) v = [log(t); 1./t]; end
Задайте интервал интегрирования и решите систему. Добавьте этот код к основной функции в вашем программном файле.
tspan = [0.1 5]; sol = ddesd(@ddex3de,@ddex3delay,@ddex3hist,tspan);
Используйте функцию истории, чтобы вычислить аналитическое решение в интервале интегрирования. Добавьте этот код к основной функции.
texact = linspace(0.1,5); yexact = ddex3hist(texact);
Постройте график числового решения на тех же осях как аналитическое решение. Добавьте этот код к основной функции.
figure plot(texact,yexact,sol.x,sol.y,'o') legend('y_1, exact','y_2, exact','y_1, ddesd','y_2, ddesd') xlabel('time t') ylabel('solution y') title('D1 problem of Enright and Hayashi')
Запустите свою программу, чтобы сгенерировать и построить график результатов.
[1] Энрайт, W.H. и Х. Хаяши. “Оценка Числового программного обеспечения для Дифференциальных уравнений с запаздывающим аргументом”. В Продолжениях IFIP TC2/WG2.5 рабочая конференция по Качеству числового программного обеспечения: оценка и улучшение. R. F. Boisvert, редактор). Лондон, Великобритания: Chapman & Hall, Ltd., стр 179-193.