sphm.net
当前位置:首页 >> 牛顿法求解 mAtlAB实现 >>

牛顿法求解 mAtlAB实现

首先,建立原函数的自定义函数文件 function y = fun(x) y=x^4-3*x^3+5*cos(x)+8; 其次,建立导函数的自定义函数文件 fu...

定义函数 function y=nd(x) y= 0.036-((x/2090.7).^(1/0.1585))-x/182000 function y=nd0(x) y=- (1/0.1585)*(x/2090.7).^(1/0.1585-1)*(1/2090.7) - 1/182000 主程序 x=0.5; %迭代初值 i=0; %迭代次数计数 while i10^(-5); %收敛判断 x=y; else...

function [ A ] = cal( a,b,v )%a,b表示区间,v是精度 i=1; x = (a+b)/2; A=[i x]; t = x-(x^3-x-1)/(3*x^2-1);%迭代函数 while(abs(t-x)>v) i=i+1; x = t; A = [A;i x]; t = x-(x^3-x-1)/(3*x^2-1);%迭代函数 end A = [A;i+1 t]; end 运行结果...

function x = newton_method(fun,x0,e,N)if nargin

牛顿切线法的MATLAB主程序: function [k,xk,yk,piancha,xdpiancha]=newtonqx(x0,tol,ftol,gxmax) x(1)=x0; for i=1: gxmax x(i+1)=x(i)-fnq(x(i))/(dfnq(x(i))+eps); piancha=abs(x(i+1)-x(i)); xdpiancha= piancha/( abs(x(i+1))+eps); i=i+1;...

这是两部分代码: function eq=exam1_5(x) eq=(x^7+2*x.^5+3*x.^3+5*x+7)/(7*x^6+10*x^4+9*x.^2+5); 这两行是函数部分,参数为x,返回值为eq。 下面的命令是在命令窗口输入的: x0=0.1; x1=x0-exam1_5(x0); while abs(x1-x0)>0.0001 x0=x1; x1=x...

采用第一个。 首先你的两个代码的计算过程和方法以及步骤是一致的。 只不过第二个将k==N放在循环内部判断是没有必要的。 放在while外面,可以节省点计算量。 如果你要求结果精度高一些的话,你调用: x=nanewton1(fname,dfname,x0,e,N) 时e要小...

你可以利用海塞矩阵来求解 http://blog.csdn.net/u010922186/article/details/41449781

function s=NewtonIterate(x,eps) %Newton迭代法求解非线性方程组的解 %x为迭代初值,eps为允许误差 if nargin==1 eps=1.0e-6; elseif nargin> x= NewtonIterate(2.5,eps) x = 1307/624

根据牛顿法的迭代公式,自定义牛顿法函数 newton()。 在命令窗口中,输入 [x,y,tol] = newton_main() 回车后得到如下结果 x = 6.64162968961185e-07 y = 4.40980585381112e-13 tol = 1e-06

网站首页 | 网站地图
All rights reserved Powered by www.sphm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com