'da ode45 kullanılırken bir işlevdeki parametreler nasıl değiştirilir Bir işlev (bir SIR modeli için) ve sonra bu işlevi çözen ve bu modele uymaya çalıştığım verilerle karşılaştıran bir komut dosyası var. Böylece fit'i optimize etmek için fonksiyondaki bir parametreyi değiştirmek için bir for döngüsü çalıştırmaya çalışıyorum. Ben onları eliyle değiştirmek zorunda kalmadan döngüsü için benim (r) ve (a) parametreleri değiştirmek için merak ediyorum:MATLAB
function ydot=epidemic(t,y)
r=0.000001;
a=1/3;
ydot=zeros(3,1);
ydot(1)=-r*y(1)*y(2);
ydot(2)=r*y(1)*y(2)-a*y(2);
ydot(3)=a*y(2);
end
ve
[t,y]=ode45('epidemic',[0:222], [70500,1,0])
Teşekkür
Olası kopyası [MATLAB: Bir parametreyi bir işleve nasıl iletebilirim?] (Http://stackoverflow.com/questions/2256229/matlab-how-do-i-pass-a-parameter-to-a -işlev) veya [bu] (http://stackoverflow.com/questions/7680224/matlab-ode45-how-to-change-a-parameter-inside-it-while-calling-it). Ayrıca bakınız [ilgili belgeler] (http://www.mathworks.com/help/matlab/ref/ode45.html#bu3uhuk) ve [bu] (http://www.mathworks.com/help/matlab/math /parameterizing-functions.html). – horchler