[問題] 如何將user輸入的變數帶入ode中求解?已回收
先說明一下題目
目前有三個方程式如下:
dA/dt=-ka*A A(0)=a0
dI/dt=ka*A-kb*I I(0)=0
dP/dt=kb*I P(0)=0
a0、ka、kb這三個都是要使用者自行輸入的變數
然後帶入ode中求解
我目前只會做到先自行將三個變數設定一個值去計算
程式如下: (目前是先另a0=10,ka=1,kb=2)
function dy=test(t,y)
dy=zeros(3,1);
dy(1)=-1*y(1);
dy(2)=1*y(1)-2*y(2);
dy(3)=2*y(2);
end
然後去計算與作圖([J]/a0 vs ka*t)
>>options=odeset('reltol',1e-4,'abstol',[1e-4 1e-4 1e-4]);
>>[T,Y]=ode45(@test,[0 10],[10 0 0],options);
%希望能將初始值設定的地方利用a0代替
>>plot(1*T,(Y(:,1))/10,1*T,(Y(:,2))/10,1*T,(Y(:,3))/10)
%這邊希望能設定成 plot(ka*T,(Y(:,1))/a0) 這樣的形式
目前的問題就是我只會手動去設定值
但是那三個變數是要給使用者自行設定的
煩請各位高手解答 小弟感激不盡
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.43.188
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):