作者gogogoziv (ziv)
看板MATLAB
標題[問題]迴圈&遞迴
時間Tue Nov 6 21:37:30 2012
初次使用matlab,所以有很多不懂的地方,請見諒!
已知p0,n,n12
先求n1
n1=(n12*p)/(2-p)
再求p
p=(n12+n1)/(2*n)
p再帶回n1...
一直算下去,直到p收斂到p1
以下是我所寫的程式:
p0=0.3;n=1000;n12=300;
p=p0;
while abs(p1-p0)<=10^(-8)
n1=(n12*p)/(2-p);
p=(n12+n1)/(2*n);
p1=p;
end
結果:
??? Undefined function or variable 'p1'.
Error in ==> while abs(p1-p0)<=10^(-8)
我要怎麼定p1?
條件似乎錯了,但我不知道哪裡錯?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.248.97.197
1F:→ mikker:給個初始值... 11/06 22:32
2F:推 MOONY135:P1設成一萬去疊代就好 11/07 01:15
3F:→ rannin:幫一樓補...while判定的p1一開始不存在,給個值吧 11/07 09:46
4F:→ gogogoziv:給定p1=0.3後,程式只計算一次,沒有再繼續做迴圈,似乎迴 11/07 09:51
5F:→ gogogoziv:圈內部有問題? 11/07 09:51