牛顿迭代法求解方程f(x)=x3-2x2+1=0 在x0 =2.0附近的根。ε=0.00001, N=80。 能帮我做一下吗
展开全部
function [gen,time]=new_ton(x0,tol)
%x0迭代初值
%tol为指定误差容限
hanshu=@(x) x^3-2*x^2+1;
daoshu=@(x) 3*x^2 -4*x;
x1=x0;
time=0;%次数
wucha=0.1;%初始误差,方便循环
while(wucha>tol)
time=time+1;
gen=x1-hanshu(x1)/daoshu(x1);
wucha=abs(gen-x1);
x1=gen;
end
end
然后命令行输入
clc;
clear;
[x,time]=new_ton(2.0,1e-5);
就行了,不过误差是-4.6968e-005,只迭代5次就运行结束了
%x0迭代初值
%tol为指定误差容限
hanshu=@(x) x^3-2*x^2+1;
daoshu=@(x) 3*x^2 -4*x;
x1=x0;
time=0;%次数
wucha=0.1;%初始误差,方便循环
while(wucha>tol)
time=time+1;
gen=x1-hanshu(x1)/daoshu(x1);
wucha=abs(gen-x1);
x1=gen;
end
end
然后命令行输入
clc;
clear;
[x,time]=new_ton(2.0,1e-5);
就行了,不过误差是-4.6968e-005,只迭代5次就运行结束了
追问
能不能帮我用java 做一个???没说清楚 是在不好意思
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询