問題:newton method

看板MATLAB作者 (冰奶不加冰)時間14年前 (2011/11/22 20:02), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
板上大大,我想用牛頓法解以下的方程式, 但不知道code問題出在哪,不知道是不是錯在feval 請各位大大指教@@ syms x f=(-1.75*x)-(x^2)+15 for n=1:10 x=1 x1=f-(feval(f,x)/feval(df,x)) err=abs(x1-x) if err<10^-10 break y=feval(f,x1) end end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.23.249 ※ 編輯: ororolol 來自: 140.112.23.249 (11/22 20:05)

11/22 21:22, , 1F
你的X=1應該是初始值吧~那要寫在外面 不然每次都重作
11/22 21:22, 1F

11/22 23:30, , 2F
裡面要加個x = x1
11/22 23:30, 2F

11/23 00:46, , 3F
如果是feval出問題的話,試試把feval(f,x)換成subs(f,x)
11/23 00:46, 3F

11/23 00:48, , 4F
另外可能要檢查一下牛頓法計算的流程
11/23 00:48, 4F

11/23 00:49, , 5F
還有if...end裡面的break之後那一行應該執行不到吧?
11/23 00:49, 5F
文章代碼(AID): #1EouzNvW (MATLAB)