stochastic gompertz model and using ode15s

I have looked at previous examples of gompertz models and how to form the data and produce a graph and following similar examples I tried to reproduce that. My model is dX(t)= [a*x(t)-b(2)*log(x(t))*x(t)]*dt+(d*x(t))*dw(t). And trying to use previous examples I created
function yr = fit_GompModel(y,t) % Objective Function: Integrates ODE & Returns Vector
x0 = [20]; % Initial Value of the differential equation (dx = 20)
[y,ys]=ode15s(@GompModel,t,x0);
function dx = GompModel(t,y)
dx (1) = (p(1)*y(t)-p(2)*log(y(t))*y(1))*dt+(p(3)*y(t))*dw(y);
p(1)= 0.1;
p(2)= 0.3;
p(3)= 1;
end
yr = ys(:,1);
end
I keep getting a error in the third line was wondering what I was doing wrong?thanks

답변 (1개)

Torsten
Torsten 2022년 2월 23일
편집: Torsten 2022년 2월 23일

0 개 추천

function yr = fit_GompModel(tr,p) % Objective Function: Integrates ODE & Returns Vector
x0 = 20; % Initial Value of the differential equation (dx = 20)
[T,Y] = ode15s(@(t,y)GompModel(t,y,p),tr,x0);
yr = Y(:,1);
end
function dx = GompModel(t,y,p)
dx(1) = ?;
end

댓글 수: 9

when i compute this and enter the dx(1) as I previously had it comes up with error is there a better way for the dx(1) to be entered or is it not needed?
Torsten
Torsten 2022년 2월 23일
편집: Torsten 2022년 2월 23일
Your dx(1) has many errors in it: y(t) has to be replaced by y(1), dt is undefined, dw(y) doesn't make sense.
You will have to correct these errors.
Okay I understand the y(1) an y(t) being wrong but if we use dx(1) so we implement that into the original model I don't understand how I could make the dt defined or the dw(t) to make sense as they are in the oringinal model
Torsten
Torsten 2022년 2월 24일
편집: Torsten 2022년 2월 24일
MATLAB doesn't know what the "original model" is - and I don't know either.
MATLAB only interprets your settings and will search for a variable dt that is not defined and a function dw depending on t that does not exist.
My model is dX(t)= [a*x(t)-b(2)*log(x(t))*x(t)]*dt+(d*x(t))*dw(t) with a,b,d all being parameters which have set values. So do I need to define this in my code?
Torsten
Torsten 2022년 2월 24일
편집: Torsten 2022년 2월 24일
I don't know what dt and dw(t) in the model equation of the right-hand side mean. So how should MATLAB know it ? Can you explain ? Is the gompertz equation a stochastic differential equation ? These cannot be solved using MATLAB's ODE integrators.
Yes the Gompertz equation is a stochastic differential equation with the dw(t) representing the Weiner process which is the same as the brownian process which I saw matlab can define and dt representing time of the tumour cell population. What would be the best way to tackle this now? Thanks
Torsten
Torsten 2022년 2월 25일
I suggest you google "Matlab & stochastic differential equation".
That's the same I had to do since I have no experience in this field.
Okay thankyou for your help

댓글을 달려면 로그인하십시오.

카테고리

질문:

2022년 2월 23일

댓글:

2022년 2월 25일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by