我想要积分微分方程dc / dt。下面是代码和变量的值。
clear all;
c1=.185;c0=2*10^-6;k3=.1*10^-6;
v1=6;v2=.11;v3=.09*10^-6;
Ca_ER=10*10^-6;Ca_cyto=1.7*10^-6;
p_open3=0.15;c=15*10^-6;
dcdt= (c1*(v1*(p_open3)+v2)*(Ca_ER)-c)-v3*((c)^2)/(c^2+(k3)^2);
我知道有一个完整的功能,但我不知道如何申请这个等式。我该如何从这里开始?请帮忙。如果需要,初始c的值可以取为0.15 * 10 ^ -6。此外,我需要绘制获得的结果与时间的关系。那么会获得一组值还是只有一个值?
the link to the article. the equation i have used comes under Calcium Oscillations section
答案 0 :(得分:1)
你可以使用欧拉方法来解决这个问题,以便对解决方案有一个粗略的想法,但不准确。
clear all
clc
t = 0;
dt = 0.0001;
c1 = 0.185;
c0 = 2*10^-6;
k3 = 0.1*10^-6;
v1 =6;
v2 =.11;
v3 =.09*10^-6;
Ca_ER =10*10^-6;
Ca_cyto =1.7*10^-6;
p_open3 =0.15;
c = 15*10^-6;
%store initial values
C(1) = c;
T(1) = t;
for i = 1:40000
dc = ( (c1*(v1*(p_open3)+v2)*(Ca_ER)-c)- v3*( c^2 /( c^2+(k3)^2) ) );
c = c + dt*dc;
t = t + dt;
%store data
C(i+1) = c;
T(i+1) = t;
end
plot(T,C, 'LineWidth',2)
xlabel('time (sec)')
ylabel('c(t)')
grid on
结果是
您也可以使用Wolfram来获得相同的结果。