P.S.Pudyastuti's Lovely Rooms…

Learning is a long-life process, so it's never late to learn…

Bermain dengan kurva dan iterasi Newton Raphson

Leave a comment

Melanjutkan bermain dengan R. Berikut ini contoh script untuk menggambar kurva sebuah fungsi dan hitungan iterasi Newton Raphson untuk mencari akar dari suatu fungsi.

#—Contoh untuk menggambar kurva fungsi dan hitungan iterasi Newton Raphson
#—P.S. Pudyastuti

setwd(“D:/tuti/Prog”)

#—contoh fungsi f(x)=e^(-x) + 5*x^4

f <- function(x) exp(-x) + 5*x^4

#—menggambar kurva fungsi f(x)=e^(-x) + 5*x^4

curve(f,from=-1,to=5)

#—hitungan iterasi Newton Raphson untuk mencari akar dari f(x)=-e^(-x) + 5*x^4

fp <- function(x) -exp(-x) + 5*x^4

fpp <- function(x) exp(-x) + 20*x^3
fpr <- rep(x[i],20)
fprr <- rep(x[i],20)
x[1]=0.5
for (i in 1:19) {
fpr[i] <- fp(x[i])
fprr[i] <- fpp(x[i]) 
x[i+1] <- x[i] – fpr[i] / fprr[i]
x[i] <- x[i+1]
}
hasil <- data.frame(x,fpr,fprr)          #data.frame adalah perintah untuk menuliskan dalam bentuk tabel

#———menampilkan hasil di layar monitor

hasil

        x           fpr          fprr
1 0.5946492 -2.940307E-01 3.1065307
2 0.5792124 7.343586E-02 4.7572066
3 0.5786686 2.418330E-03 4.4467050
4 0.5786679 2.892068E-06 4.4360729
5 0.5786679 4.150680E-12 4.4360602
6 0.5786679 -1.110223E-16 4.4360602
7 0.5786679 -1.110223E-16 4.4360602
8 0.5786679 -1.110223E-16 4.4360602
9 0.5786679 -1.110223E-16 4.4360602
10 0.5786679 -1.110223E-16 4.4360602
11 0.5786679 -1.110223E-16 4.4360602
12 0.5786679 -1.110223E-16 4.4360602
13 0.5786679 -1.110223E-16 4.4360602
14 0.5786679 -1.110223E-16 4.4360602
15 0.5786679 -1.110223E-16 4.4360602
16 0.5786679 -1.110223E-16 4.4360602
17 0.5786679 -1.110223E-16 4.4360602
18 0.5786679 -1.110223E-16 4.4360602
19 0.5786679 -1.110223E-16 4.4360602
20 0.5786679 5.786679E-01 0.5786679

Jadi akar dari fungsi f(x)=-e^(-x) + 5x^4 adalah x = 0.5786679. Jika ingin menyimpan hasil running dalam sebuah file, contohnya dalam file csv, maka script-nya adalah sebagai berikut :

#———menyimpan hasil iterasi di file csv
write.csv(hasil,file=”NR3.csv”)

Selamat mencoba.

Author: P.S.Pudyastuti

I am an academic staff at Civil Engineering Department, Faculty of Engineering, Universitas Muhammadiyah Surakarta - Indonesia. I got my Bachelor Degree (ST) from Gadjah Mada University, Indonesia, and Master Degree (M.Sc) from Loughborough University, England. I am married and have got 3 children.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s