24小时热门版块排行榜    

查看: 846  |  回复: 3

shenqiang111

金虫 (小有名气)

[求助] 寻求MATLAB帮助,急!

如何运用Matlab对常微分方程:dx/dt= x*(1-x)*(-16*x^2+16*x-4)进行画图模拟,根据模型假设求解,无论初始值处于什么位置,模拟结果都应该趋近于0,其中x的含义是比例,所以其中x的上下限分别是0和1,
但在模拟中,由于改变初始值,模拟结果可能大于1,还可能小于0,下面两图分别是初始值为0.9和0.3的情况,为什么呢?也想设定上下限,但失败了。有帮助说可以积分形式而不用ODE求解,麻烦能够给出具体步骤。谢谢!
以下是本人编写的程序和运行结果,见笑!;

function xprim=xprim3(x,t)
xprim= x*(1-x)*(-16*x^2+16*x-4);

clc
[t,x]=ode45('xprim3',[0 1],0.3);
plot(t,x);
xlabel('t');
ylabel('x x(0)=0.3');


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

信彼南山

木虫 (著名写手)

【答案】应助回帖


spc08(金币+1): 感谢应助 2011-09-26 08:32:42
int(x*(1-x)*(-16*x^2+16*x-4))

ans =

(16*x^5)/5 - 8*x^4 + (20*x^3)/3 - 2*x^2

这不就直接求出积分了么
然后你plot就是了
2楼2011-09-26 03:02:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

【答案】应助回帖

★ ★
臭水沟(金币+2): 谢谢应助~~ 2011-09-26 11:14:46
本来就是这么一条曲线么

3楼2011-09-26 03:06:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

【答案】应助回帖


臭水沟(金币+1): 谢谢交流~~ 2011-09-26 11:14:56
改变初值的话无非就是曲线上下移动而已。
另外,ODE的数值解法肯定会有一定误差的
4楼2011-09-26 03:08:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 shenqiang111 的主题更新
信息提示
请填处理意见