matlab用牛顿迭代法求x=e^-x在0.5附近的跟,牛顿法 matlab 求 x^3-x-1=0 在 x=1.5附近的根...

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

little_rill

2013.04.12

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:42%    等级:11

已帮助:6860人

%牛顿迭代法 解方程y=x.^3-x-1

x=1.5;

format long;

x1=x-func1_1(x)/func1_1_1(x);

if(abs(x1)<1.5)

delt=abs(x1-x);

else

delt=abs((x1-x)/x1);

end

while(delt>1e-6|abs(func1_1(x))>1e-6)

x=x1; x1=x-func1_1(x)/func1_1_1(x);

if(abs(x1)<1.5)

delt=abs(x1-x);

else

delt=abs((x1-x)/x1);

end

if func1_1(x1)==0

break

end

end

disp('解方程y=x.^3-x-1,牛顿迭代法结果')

x1

编辑函数

function y=func1_1(x)

y=x.^3-x-1;

function y=func1_1_1(x)

y=3*x.^2-1

% 对分法

delta=10e-5;

a=1;

b=2;

fa=func2_1(a);

fb=func2_1(b);

n=1;

while(1)

if(fa*fb>0)

break;

end

x=(a+b)/2;

fx=func2_1(x);

if(abs(fx)

break;

elseif(fa*fx<0)

b=x;fb=fx;

else

a=x;fa=fx;

end

if(b-a

break;

end

n=n+1;

end

disp('对分法结果');

x

% 调用roots函数求解结果并作图

x=linspace(-5,5);

y=x.^2-x-1;

plot(x,y)

p=[1 -1 -1];

disp('调用roots函数求解')

x=roots(p)

编辑函数

function y=func2_1(x)

y=x.^2-x-1;

function y=func2_1_1(x)

y=2*x-1

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值