牛顿法求解 matlab实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛顿法求解 matlab实现相关的知识,希望对你有一定的参考价值。

用切线法求下列方程的近似数值解y=x^4-3x^3+5cosx+8,要完整可运行程序,小白要交作业了,在线等,挺急的,没什么财富值了,好人一生平安。

参考技术A

首先,建立原函数的自定义函数文件

function y = fun(x)

y=x^4-3*x^3+5*cos(x)+8;

其次,建立导函数的自定义函数文件

function y = dfun(x)

y=4*x^3-9*x^2-5*sin(x);

最后,用牛顿法求解

x0=1;tol=1e-6;x1=newton(x0,tol)

n =

     5

x1 =

    1.787494463594194

验证:

x1 =    1.787494463594194;x1^4-3*x1^3+5*cos(x1)+8

ans =

   -3.552713678800501e-015   (=0)

牛顿法

2018-01-20 13:47:19

牛顿法英语:Newton\'s method)又称为牛顿-拉弗森方法英语:Newton-Raphson method),它是一种在实数域和复数域上近似求解方程的方法。

方法说明:

第一个例子:

第二个例子:

计算机中一个基本的数学问题就是计算开根号,也即sqrt函数的实现。也就是求函数f(x) = x^2 - a为0的解。可以使用牛顿迭代法进行求解。

    double sqrt(int n) {
        double x0;
        double x1 = n;
        double err = 1e-4;
        do {
            x0 = x1;
            x1 = x0 - (x0*x0 - n)/(2.0*x0);
            System.out.println(x0 + " "+x1);
        } while (Math.abs(x1-x0)>err);
        return x0;
    }

 

以上是关于牛顿法求解 matlab实现的主要内容,如果未能解决你的问题,请参考以下文章

无约束优化问题中牛顿法与拟牛顿法四种迭代方法的matlab实现

无约束优化问题中牛顿法与拟牛顿法四种迭代方法的matlab实现

matlab中牛顿法程序

牛顿法与拟牛顿法

MATLAB用牛顿迭代求解非线性方程的程序

牛顿法和拟牛顿法