跪求用牛顿法求方程近似根 的Matlab 程序

求x^3-2x-5=0在(2,3)内的近似解(取n=3)... 求x^3-2x-5=0在(2,3)内的近似解(取n=3) 展开
 我来答
springehome
2010-05-09 · TA获得超过1917个赞
知道小有建树答主
回答量:238
采纳率:100%
帮助的人:468万
展开全部
function s=NewtonIterate(x,eps)
%Newton迭代法求解非线性方程组的解
%x为迭代初值,eps为允许误差
if nargin==1
eps=1.0e-6;
elseif nargin<1
return

end
x1=fx1(x); %非线性方程组函数fx1.m
x2=-dfx1(x); %非线性方程组的导数函数dfx1.m
x0=x2\x1';
while norm(x0)>=eps
x=x0'+x;
x1=fx1(x);
x2=-dfx1(x);
x0=x2\x1';
end
s=x0'+x;
return
function y=fx1(x)%函数1
y=x^3-2*x-5
function y=dfx1(x)%函数2
y=3*x^2-2
%命令行
>> x= NewtonIterate(2.5,eps)

x =

1307/624
Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
泽皖念珍Ud
2012-11-21
知道答主
回答量:2
采纳率:0%
帮助的人:3094
展开全部
function x=newton(f,df,x0,tol,M)
dv=0;
for k=1:M
if feval(df,x0)==0
dv=2; break
else
x1=x0-feval(f,x0)/feval(df,x0);
end
e=abs(x1-x0);x0=x1;
if e<=tol
dv=1;break
end
end
if dv==1
x=x1;
elseif dv==0
x=['迭代',num2str(M),'次失败'];
else
x='奇异';
end
m文件一:
function y=f(x)
y=x.^3-2.*x-5;
m文件二
function y=df(x)
y=3*x^2-2;
输入:x=Newton('f','df',2,(1/2)*(10.^(-5)),100)
输出:x = 2.0946.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式