Как решить ODE с Matlab для разных значений параметров? - PullRequest
0 голосов
/ 16 октября 2018

Я хотел бы решить простую оду и получить разные векторы решения, пока параметр p изменяется в определенном диапазоне

dx / dt = 25,7 + x * (0,00038 * x-0,00000014 *x ^ 2) -x * (0,162 + 0,00000006 * x ^ 2) -p * x

Вот мой код

function dxdt = lv(t,x,p)

dxdt = 25.7+x*(0.00038*x-0.00000014*x^2)-x*(0.162+0.00000006*x^2)-p*x;
end

и

clear all

% Write here the initial conditions
xstart = 1200.0;

tspan = 0:1000;

%parameters
% s = 25.7;
% a = 0.00038;
% b = -0.00000014;
% c = 0.162;
% d = 0.00000006;
%p = 0.01;

p = 0:0.001:0.1;
x_end=zeros(length(tspan),length(p));

for ii = 1:length(p)
[t,x] = ode45(@(t,x)lv(t,x,p(ii)),tspan,xstart);
end 

Iхотел бы собрать векторы решений, полученные для любого значения p.

Заранее большое спасибо за любую помощь или предложение

...