lxy444 发表于 2014-8-31 15:19

求助,用牛顿切线法编写的一个求根程序,恳请各位大侠指点一下

我想用mathematica编写一个求根函数,用牛顿切线法,我编的函数如下:
Newton:=
Module[{df,x1,y0,y1,k},
df=D;
y0=f/.x->x0;y1=df/.x->x0;
x1=x0-y0/y1;
k=1;
While>e,
x0=x1;
y0=f/.x->x0;y1=df/.x->x0;
x1=x0-y0/y1;
k=k+1;
]
Print["迭代次数为:",k];
Print["近似根为:",x1];
]

但是当我调用它时,会出现这样的提示,如下:

这是为什么啊?求高手解答,应该怎么修改啊


lxy444 发表于 2014-8-31 15:22

恳请大神解答!@madio  

madio 发表于 2014-8-31 21:59

Newton := Module[{df, x1, y0, y1, k}, df = D;
  y0 = f /. {x -> x0; y1 = df} /. x -> x0;
  x1 = x0 - y0/y1;
  k = 1;
  While > e, x0 = x1;
    y0 = f /. x -> x0; y1 = df /. x -> x0;
    x1 = x0 - y0/y1;
    k = k + 1;] Print["迭代次数为:", k];
  Print["近似根为:", x1];]可选参数应该放在一个表里面

lxy444 发表于 2014-9-1 00:08

madio 发表于 2014-8-31 21:59 static/image/common/back.gif
可选参数应该放在一个表里面

哦,明白了,十分感谢!

Agent-Zero 发表于 2014-9-1 10:23

不明觉厉。就是看看。。。
页: [1]
查看完整版本: 求助,用牛顿切线法编写的一个求根程序,恳请各位大侠指点一下