Matlab 编写用牛顿迭代法求值 已知x0=1
Matlab 编写用牛顿迭代法求值 已知x0=1,输出x1,x2,x3我的程序:定义了三个函数然后调用 function z=g(x0) //定义所要求值的函数 z=x0^2-x0+2; function y=dg(x0) //定义导函数 dg(x0)=diff(g); function m=fun(x) k=1; n=3; while k<=n x1=x0-g(x0)/dg(x0); m=x1; break x0=x1; x1=x0-g(x0)/dg(x0); k=k+1; end 我在测试的我时候输入 fun(1) 然后按回车可是结果不对,我知道问题出在dg(x)的定义上,但是我只知道输出是个多项式的求导,输出是具体值的求导我就不会了 求问正确的牛顿迭代法应该怎么编写,还有求导怎么写
diff()函数要输入定义的函数,你的g不是一个定义的函数,所以,运行应该不对的。具体diff的用法,你好好看看matlab的帮助。
答:已知前一步的迭代值为x1,则下一步的迭代值为 x2=x1-f(x1)/f'(x1) 其中:函数f(x)=5x^5-3x+6, 导数f'(x)=25x^4-3 ...详情>>
答:详情>>