[程式] 用R跑bisection找根
在學數值分析中,再練習bisection找根
我是使用R來跑的 以下是程式碼
#bisection
a1<-function(x){
x^10-1}
a1(0)*a1(3)
xl<-NULL ; xl[1]<-0
xu<-NULL ; xu[1]<-3
xr<-NULL
for(i in 1:10){
xr[i]<-(xl[i]+xu[i])/2
if(a1(xl[i])*a1(xr[i])<0){
xu[i+1]<-xr[i]
}
else{if(a1(xl[i])*a1(xr[i])>0){
xl[i+1]<-xr[i]
}
else{ break }
}
}
當我執行的時候會顯示出
錯誤在if (a1(xl[i]) * a1(xr[i]) < 0) { :
需要 TRUE/FALSE 值的地方有缺值
我有個別執行敘述中的指令 顯示出來是TRUE
有上網去查關於這個訊息的可能錯誤,好像是因為出現NA值
但是還是不知道是哪裡出了問題
有請大家的幫忙
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.175.102.81
→
03/07 17:56, , 1F
03/07 17:56, 1F
→
03/07 17:57, , 2F
03/07 17:57, 2F
→
03/07 18:08, , 3F
03/07 18:08, 3F
→
03/07 18:09, , 4F
03/07 18:09, 4F
→
03/07 18:09, , 5F
03/07 18:09, 5F
→
03/07 22:12, , 6F
03/07 22:12, 6F