[問題]迴圈&遞迴

看板MATLAB作者 (ziv)時間13年前 (2012/11/06 21:37), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
初次使用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

11/06 22:32, , 1F
給個初始值...
11/06 22:32, 1F

11/07 01:15, , 2F
P1設成一萬去疊代就好
11/07 01:15, 2F

11/07 09:46, , 3F
幫一樓補...while判定的p1一開始不存在,給個值吧
11/07 09:46, 3F

11/07 09:51, , 4F
給定p1=0.3後,程式只計算一次,沒有再繼續做迴圈,似乎迴
11/07 09:51, 4F

11/07 09:51, , 5F
圈內部有問題?
11/07 09:51, 5F
文章代碼(AID): #1GcHATYI (MATLAB)