作者ororolol (冰奶不加冰)
站内MATLAB
标题问题:newton method
时间Tue Nov 22 20:02:28 2011
板上大大,我想用牛顿法解以下的方程式,
但不知道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)
1F:推 OldChuang:你的X=1应该是初始值吧~那要写在外面 不然每次都重作 11/22 21:22
2F:→ Raymond0710:里面要加个x = x1 11/22 23:30
3F:→ b210485:如果是feval出问题的话,试试把feval(f,x)换成subs(f,x) 11/23 00:46
4F:→ b210485:另外可能要检查一下牛顿法计算的流程 11/23 00:48
5F:→ b210485:还有if...end里面的break之後那一行应该执行不到吧? 11/23 00:49