24小时热门版块排行榜    

查看: 412  |  回复: 1

robustsong

金虫 (初入文坛)

[求助] 问个简单的Matlab里面的公式写法

公式如下(图中更明显):
dx/dt=kx^m(1-x)^n
k,m,n都是常数

x(1)=0
for i=1:t
x(i+1)=x(i)+k*x(i)^m*(1-x(i))^n*dt
end

如果像我这样子写,x从0开始,这个方程就进入了死循环,永远是0.

请问一下,如何在matlab里面解?
问个简单的Matlab里面的公式写法
方程.png
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

roseium

铁虫 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
dingd: 金币+1, 谢谢参与! 2013-09-23 14:47:26
x=0的话,dx/dt=0,所以x永远都是0很正常啊。另外,你可以用metlab内置的ODE函数求解这类问题,比如:

[t,x] = ode45(@(t,x)k*x^m*(1-x)^n, [0 10], 0.1);
plot(t,x)
2楼2013-09-23 14:44:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 robustsong 的主题更新
信息提示
请填处理意见