当前位置:知识百问>生活百科>matlab编写 牛顿法解非线性方程的程序

matlab编写 牛顿法解非线性方程的程序

2024-01-14 10:13:59 编辑:join 浏览量:613

matlab编写 牛顿法解非线性方程的程序

这个牛顿法程序对吗?给你一个可用的: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,法解,非线性

版权声明:文章由 知识百问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.zhshbaiwen.com/life/309295.html
热门文章