[問題] 請問我的迴圈是哪裡錯了呢?已回收

看板MATLAB作者 (gg)時間16年前 (2010/01/11 18:44), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我想要做一個函數,圖形是一個besselj(1,x),然後輸入第幾個零點,他就會給我值, 所以我這樣寫: y=@(x)besselj(0,x); q=2;j=0;k=0;n=1;num=0; while (num<10) while (j==k) q=q+1; k=fzero(y,q); z=k; if(z~=j) p(1,n)=z n=n+1; end end j=z; num=num+1; end 我的理想狀態是希望之後能夠藉由p(1),p(2),p(3)...能夠去找我想要的第幾個零點的值. 結果跑出來的數值變成了(僅列出最後一行): p = 2.4048 5.5201 8.6537 11.7915 11.7915 11.7915 14.9309 14.9309 14.9309 18.0711 可是為什麼從11.7915就開始會重複阿...= = (我把分號打開後看他的跑法,我發現問題出現在if...請問是哪裡做錯了呢?) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.26.123
文章代碼(AID): #1BIm4En0 (MATLAB)
文章代碼(AID): #1BIm4En0 (MATLAB)