牛顿法求解 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实现