求根

Newton.m

function y= Newton(x0)
	syms x;
	f(x)=x^3-3*x-1;
	g(x)=diff(f(x));
	x1=x0-f(x0)/g(x0);
	f1=g(x1);
	while(abs(x1-x0)>0.005)
	    x1=x1-f(x1)/g(x1);
	    f1=g(x1);
	    if(f1==0)
		sprinf("出现错误,方法失败!")
		break;
	    end  
	end
	y=vpa(x1,5)
end

paowu.m

function  y= paowu(x0,x1,x2,t)
	syms x;
	f(x)=x^3-3*x-1;
	f1=(f(x1)-f(x0))/(x1-x0);
	f2=(f(x2)-f(x1))/(x2-x1);
	f12=(f2-f1)/(x2-x0);
	w=f2+f12*(x2-x1);
	x3=x2-2*f(x2)/(w+sqrt(abs(w^2-4*f12*f2)));
	while(vpa(abs(x3-t))>0.0005)
	    x0=x1;
	    x1=x2;
	    x2=x3;
	    f1=(f(x1)-f(x0))/(x1-x0);
	    f2=(f(x2)-f(x1))/(x2-x1);
	    f12=(f2-f1)/(x2-x0);
	    w=f2+f12*(x2-x1);
	    x3=x2-2*f(x2)/(w+sqrt(abs(w^2-4*f12*f2)));  
	end
	y=vpa(x3);
end

r.m

   function y= r(x0)
	x1=x0;
	x1=(1+x1^2)^(1/3);
	while(abs(x1-x0)>1/2000)
	    x0=x1;
	    x1=(1+x1^2)^(1/3);
	end
	x1
	end

xianjie.m

	function y= xianjie(x0,x1,t)
		syms x;
		f(x)=x^3-3*x-1;
		x2=x1-f(x1)/(f(x1)-f(x0))*(x1-x0);
		x0=x1;
		x1=x2;
		while(abs(x1-t)>0.0005)
		    x2=x1-f(x1)/(f(x1)-f(x0))*(x1-x0);
		   x0=x1;
		   x1=x2;
		end
		y=vpa(x2)
		end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值