sphm.net
当前位置:首页 >> 用mAtlAB如何编写牛顿迭代法问题,谢谢 >>

用mAtlAB如何编写牛顿迭代法问题,谢谢

syms x f=x^x-10; df=diff(f,x); eps=1e-6; x0=10; cnt=0; MAXCNT=200; %最大循环次数 while cnt

%求方程x^3-sinx-12x+1=0的根。 N =1000; x0=0; x1=x0^3-sin(x0)-12*x0+1; E=1.0e-6;%f=x*x*x+4*x*x-10=0,f1为f=x*x*x+4*x*x-10的一阶导 k=1;

超过计算范围或精度。

主程序: 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...

n = 0; x4 = 4; x6 = 6; x8 = 8; summ = 19; a = zeros(10,10); for i = 0:1:5 for j = 0:1:4 for k = 0:1:3 if i * x4 + j * x6 + k *x8 == summ; n = n+1; a(i+1,j+1) = k; end end end end disp('一共有的分法:') disp(n)

是像图中这样的效果吗?求出来接近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

1. 创建一个函数 %牛顿法求立方根 function x=cube_newton(a) f=@(x)x^3-a; df=diff(sym('x^3-a')); if a==0; x1=a; else x0=a; x1=x0-f(x0)/subs(df,x0); while abs(x1-x0)>1e-6 x0=x1; x1=x0-f(x0)/subs(df,x0); end end x=x1; 2. 调用求解 >>...

首先你的代码run不了,大小写x需改正,diff没用的,修改如下 function newton(f,g,a) for n=1:20 x=a; fa=eval(f); ga=eval(g); a=a-fa/ga; x=a; format long disp(x)%output 'approximate value of a' end 其次算法没错,错的是你的初值,newto...

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]; e...

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