24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1270  |  回复: 15

hqulhh

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by csgt0 at 2012-08-02 17:21:37
你没发现你的式子里没有P么,大概这个情况,你再改改吧。需要注意不能出现让K=0

L0=1;
=ode45(@fun,0:100,);
L=y(:,1);
G=y(:,2);
delta=(L-L0)/L0
end

function dy=fun(t,y)
L0=1;
alpha=0.01;
delt ...

谢谢您,可以算,不过结果差别很大。我要修改两个参数rou和Q,当0
11楼2012-08-04 16:44:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

if 0 A=2;
elseif 0.5 A=10;
esleif 0.9 A=12
end

Q=50;
if T<1000
Q=315;
end
showmethemoney
12楼2012-08-06 09:44:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hqulhh

新虫 (初入文坛)

引用回帖:
12楼: Originally posted by csgt0 at 2012-08-06 09:44:24
if 0<rou<=0.5
A=2;
elseif 0.5<rou<0.9
A=10;
esleif 0.9<rou<1
A=12
end

Q=50;
if T<1000
Q=315;
end

好的。谢啦,这样要不要把和A,Q值有关的表达式yita,dy(1),和dy(2),放进两个if里面。另外,我想把rou修改为与delta有关的。如rou=0.5+(1+delta)^3;这样的循环时,要放在哪个位置,delta要不要赋初值。
13楼2012-08-08 23:11:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★
hqulhh: 金币+3 2012-08-09 09:53:58
不用放里面,放后面就行了,使得使用时已经算好了A和Q就行。rou的设置放在使用rou之前就可以了。delta是什么,怎么定,计算rou之前当然要知道delta的值。
showmethemoney
14楼2012-08-09 09:12:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hqulhh

新虫 (初入文坛)

引用回帖:
14楼: Originally posted by csgt0 at 2012-08-09 09:12:16
不用放里面,放后面就行了,使得使用时已经算好了A和Q就行。rou的设置放在使用rou之前就可以了。delta是什么,怎么定,计算rou之前当然要知道delta的值。

直接放后面,A前面要不要赋初值,要不变成没定义。另外,delta是第一个式子,也是要输出的结果,这样改成rou=0.5+(1+delta)^3,变成有循环嵌套,要怎么放?
15楼2012-08-09 10:19:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

哦,时间太久都忘了。
matlab不用预先声明和定义的。但是A还是可以定义下,以防出现rou超过0~1的范围出现A为空值而出错的情况。
delta=y(1)-L0/L0;
对每个y就有一个delta,然后得到一个rou,从而计算出dy,符合你的方程。
你把它放在计算rou之前就行了。
showmethemoney
16楼2012-08-09 10:41:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hqulhh 的主题更新
信息提示
请填处理意见