学习R语言编程——常用算法——二分法

############################常用算法——二分法#################################

###用二分法求下面方程在(-10,10)的根.2*x^3-4*x^2+3*x-6 = 0

#while

f = function(x) 2*x^3-4*x^2+3*x-6

x0 = -10;x1 = 10

while(abs(x0-x1)>1e-6){

if(f(x0)*f(x1)>0){

print("no root")

break

}

x2 = (x0+x1)/2

if(f(x2)==0){cat(x2);break}

if(f(x0)*f(x2)<0){

x1 = x2

}else{

x0 = x2

}

}

x0

 

#repeat

f = function(x) 2*x^3-4*x^2+3*x-6

x0 = -10;x1 = 10

repeat{

if(f(x0)*f(x1)>0){

print("no root")

break

}

x2 = (x0+x1)/2

if(f(x2)==0){cat(x2);break}

if(f(x0)*f(x2)<0){

x1 = x2

}else{

x0 = x2

}

if(abs(x0-x1)<1e-6){

cat(x0)

break

}

}

  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值