作者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