这个牛顿法程序对吗?给你一个可用的:function main()clc; clear all; f = @(x)log(x+sin(x));df = @(x)(1+cos(x))/(x+sin(x));x0 = 0.1;x = TestNewton(f, df, x0)function x = TestNewton(fname, dfname, x0, e, N)% 用途:Newton迭代法解非线性方程f(x)=0% fname和dfname分别表示f(x)及其导函数的M函数句柄或内嵌函数表达式% x0为迭代初值,e为精度(默认值1e-7)% x为返回数知颂值解,并显示计算过程,设置迭代次数上限N以防发散(默认500次)if nargin < 5 N = 500;endif nargin < 4 e = 1e-7;endx = x0;x0 = x+2*e;k = 0;fprintf('x[%d]=%12.9f\n'型激, k, x)while abs(x0-x)>卜猛袜e && k
标签:matlab,法解,非线性