sphm.net
当前位置:首页 >> 牛顿迭代法mAtlAB >>

牛顿迭代法mAtlAB

function y=f(x)y=f(x);%函数f(x)的表达式endfunction z=h(x)z=h(x);%函数h(x)的表达式end x=X;%迭代初值i=0;%迭代次数计算while i0.01;%收敛判断X=x0;else breakendi=i+1;endfprintf('\n%s%.4f\t%s%d','X=',X,'i=',i) %输出结果

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 [ 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 运行结果...

其中,fun()是原函数,dfun()是导函数

matlab牛顿迭代法需要多长时间,这要看你的代码执行长度和误差精度。你可以执行代码的前后设置一个时钟。为了说明问题,举一个简单的例子。 tic; s=0; for n=1:100 s=s+1/n/n; end s toc;

是像图中这样的效果吗?求出来接近1的一个根。 输出第一行是迭代次数,第二行是根。 文字版的代码如下: function Untitled() x0 = 1; i = 0; while true i = i+1; x2 = x0; x1 = x0 - (x0^2 - 3) / 2; x0 = x1; if ~(abs(x1-x2) >= 1e-14 && x0

牛顿迭代法的原理是, 实现过程如下: function y = fun_main(x) %定义函数 y =x^3+4*x^2-10; end function y = dfun_main(x) %定义导函数 y =x^3+4*x^2-10; y = 3*x^2 + 8*x; end syms x ezplot('y=x^3+4*x^2-10',[-5 4 -11 5]),grid on,hold o...

主程序: function [k,x,wuca,yx] = newton(x0,tol) k=1; yx1=fun(x0); yx2=fun1(x0); x1=x0-yx1/yx2; while abs(x1-x0)>tol x0=x1; yx1=fun(x0); yx2=fun1(x0); k=k+1; x1=x1-yx1/yx2; end k; x=x1; wuca=abs(x1-x0)/2; yx=fun(x); end 分程序1...

syms x x0=2; f=x^3-3*x-1; eps=1e-6; maxcnt=1000; fx=diff(f,x); x1=x0; cnt=1; while cnt

应该不行吧,第一个出现的代码,循环条件是while kkk==3 && theta

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