Minggu 11 MA2151 Simulasi dan Komputasi Matematika
Model Berdasarkan Data
Model Berdasarkan Data Kadangkala kita dituntut untuk membangun suatu model berdasarkan data (yang terbatas). Untuk melakukan ini, perlu diketahui beberapa fungsi yang sering digunakan untuk membangun model.
Fungsi Linear Merupakan model paling sederhana
𝑦 = 𝑚𝑥 + 𝑏
y
b
y x
x
m: gradien b: titik potong dengan sumbu y
Fungsi Kuadrat f ( x) a2 x a1 x a0 2
y
x merupakan kasus khusus dari…
Fungsi Polinom f ( x) an x n an 1 x n 1 ... a1 x a0
y
y=f(x) x
n: derajat
Fungsi Akar
y y=f(x) x
Misalnya digunakan dalam menentukan jarak antara 2 titik (x1,y1 ) and (x2,y2 ):
( x1 x2 ) 2 ( y1 y2 ) 2
Fungsi Eksponensial P(t ) P0 ka y
rt
y=P(t)
t
Fungsi Logaritmik
y
x
Biasanya digunakan untuk data yang bertumbuh secara eksponensial. Misalnya, skala Richter untuk gempa.
Fungsi Logistik dP P r 1 dt M
P
MP0 P (t ) ( M P0 )e rt P0 P(t)
t
Fungsi Trigonometri • Digunakan untuk memodelkan data yang periodik • Misal: suhu laut, kadar gula darah • Biasanya digunakan fungsi cos, karena 𝜋 sin 𝜃 = cos 𝜃 − 2
Model Empirik Model empirik dibuat hanya berdasarkan data, dan digunakan untuk meramalkan, bukan menjelaskan, suatu sistem. Model empirik memuat suatu fungsi yang menangkap trend dari data.
Peramalan dengan Model Empirik Kita dapat menggunakan model empirik untuk meramalkan perilaku di mana data tidak ada. Namun, model empirik tidak dapat diaplikasikan di luar selang data yang dimiliki. Data membangun model. Akibatnya di luar selang data, kita tidak dapat memastikan bahwa data akan berperilaku serupa dengan hasil observasi dalam selang data.
Regresi Linear
Regresi Linear Untuk memperoleh parameter m dan b dalam y = ax + b, diminimumkan perbedaan antara model dengan data yang diamati. y (x3, y3) (x2, y2) (x1, y1)
x
Regresi linear juga disebut linear least squares
Linear Least Squares: Solusi Numerik Kalkulus akan memberikan: m b
n xi yi xi yi n xi2 ( xi ) 2
2 x i yi xi yi xi
n xi ( xi ) 2 2
Contoh
Model Empirik Linear y a1 x1 a2 x2 ... an xn ai disebut parameter dari model. Model yang tidak dapat direpresentasikan dalam bentuk ini disebut nonlinear.
Model Non-linear (1 Suku)
Transformasi Himpunan Data Untuk mengubah dari grafik cekung ke atas ke garis lurus: 1. Lakukan operasi pada x untuk memperoleh nilai yang lebih besar, dan efeknya lebih banyak pada nilai x yang lebih besar, atau 2. Lakukan operasi pada y yang menghasilkan nilai yang lebih kecil, dan efeknya lebih banyak pada nilai y yang lebih besar.
Plot himpunan data dengan tranformasi x x2
Plot himpunan data dengan tranformasi x x3
Plot himpunan data dengan tranformasi x x4
Plot himpunan data dengan tranformasi x x3.5
y 0.393131 0.988186 x 3.5
Barisan Transformasi untuk z>1 : -1/z2 -1/z -1/z ln(z) z z z2 z3 :
Transformasi untuk y pada Model 1 Suku
Transformasi himpunan data Dari cekung ke bawah ke garis lurus: 1. Lakukan operasi pada x untuk memperoleh nilai yang lebih kecil, dan efeknya lebih banyak pada nilai x yang lebih besar, atau 2. Lakukan operasi pada y yang menghasilkan nilai yang lebih besar, dan efeknya lebih banyak pada nilai y yang lebih besar.
u = -5.46747 + 0.267834 z
y = (–5.48629 + 0.267869x)
5/6
Galat Komputasional
Kesalahan Data Data dapat kita gunakan sebagai dasar pembuatan model maupun untuk memverifikasi model yang telah kita buat. Namun demikian, terdapat berbagai sumber terjadinya kesalahan dalam data. Beberapa contoh: • Sensor yang mengalami malfungsi sehingga memberikan data yang tidak valid. • Keakuratan sensor tidak cukup baik untuk model. • Alat pengukur yang tidak dikalibrasi. • Kesalahan pembacaan hasil pengukuran. • Kesalahan pencatatan hasil pengukuran.
Kesalahan Model Peneliti dapat melakukan kesalahan dalam memformulasikan suatu model: • Asumsi yang terlalu menyederhanakan. • Kesalahan penentuan persamaan/pertidaksamaan. • Tidak memahami faktor penting dalam fenomena yang dimodelkan. Hal tersebut mengakibatkan hasil pemodelan amat jauh berbeda dengan kenyataan yang terjadi.
Kesalahan Implementasi Dapat terjadi kesalahan logika dalam mengimplementasikan model ke dalam program komputer. Pada tahun 1999, pesawat luar angkasa Mars Climate Orbiter hilang karena Lockheed Martin Corp. membangun badan pesawat dan memprogram sistem pengontrol badan pesawat dengan menggunakan satuan Inggris seperti pon dan kaki, sementara jet pendorong yang diproduksi NASA dibangun dengan menggunakan satuan metrik seperti Newton dan meter.
Bilangan Floating Point dan Notasi Eksponensial Bilangan real biasa disebut floating-point dan diekspresikan dengan ekspansi desimal. Notasi eksponensial merepresentasikan bilangan floating-point sebagai hasil kali dengan pangkat 10. Dengan a bilangan desimal dan n bilangan bulat, aen merepresentasikan a × 10n. Bilangan bulat yang diperoleh dengan titik decimal dari a disebut significand atau mantissa, dan n disebut eksponen. Contoh: 9.843600e02 bermakna 9.843600 × 102 = 984.36 = 0.98436 × 103. Dengan demikian significand adalah 98436 dan eksponen adalah 3. Selain itu, biasa digunakan 0 atau 1 merepresentasikan tanda + atau –.
Digit Significant Bilangan dalam notasi eksponensial yang dinormalisasi memiliki titik desimal tepat sebelum digit tak nol pertama. Digit significant dari suatu bilangan adalah semua digit tak nol setelah titik decimal dalam notasi eksponensial yang dinormalisasi. Contoh: Dalam 0.98436 × 103 digit significant adalah 9, 8, 4, 3, dan 6. Dalam 003,704,000 = 0.3704 × 107 digit significant adalah 3, 7, 0, dan 4.
Presisi Presisi dari suatu bilangan adalah banyaknya digit significant pada saat bilangan diekspresikan dalam notasi eksponensial dinormalisasi. Magnitude dari suatu bilangan adalah 10n pada saat bilangan diekspresikan dalam notasi eksponensial dinormalisasi. Contoh: 0.3704 × 107 memiliki presisi 4 dan magnitude 107.
Dalam C and C++, presisi dari bilangan bertipe float (sering disebut single-precision number) adalah 6 atau 7 digit, dengan magnitude di antara 10–38 sampai 1038. Sedangkan bilangan bertipe double (double-precision number) memiliki presisi 14 atau 15 dan magnitude dari 10–308 sampai 10308. Namun demikian, tipe data double memakan memori dua kali lipat tipe data float.
Galat Mutlak dan Relatif
Contoh Misalkan suatu komputer memiliki presisi 3 dan akan melakukan truncates (memotong) significand ke hanya 3 digit. Pandang (0.356 × 108)(0.228 × 10–3) = (0.356)(0.228)(108)(10–3) = 0.081168 × 105 Dinormalisasi, kita peroleh correct = 0.81168 × 104. Karena presisi adalah 3, result = 0.811 × 104. Galat mutlak adalah: |correct – result| = |0.81168 × 104 – 0.811 × 104 | = 0.00068 × 104 = 6.8 Galat relative adalah: (0.00068 × 104)/(0.81168 × 104) = 0.0008378 = 0.08378%
Galat Pembulatan
Contoh: Misalkan presisi 3. 0.81168 × 104 and 0.81158 × 104 dibulatkan ke atas ke 0.812 × 104 0.81138 × 104 dibulatkan ke bawah ke 0.811 × 104.
Assignment variable = expression Contoh: x = 1.0/3.0; Galat pembulatan terjadi karena kurangnya bits untuk menyimpan keseluruhan bilangan floating point sehingga result diaproksimasi ke bilangan terdekat yang dapat direpresentasikan. Overflow terjadi karena kurangnya bits untuk mengekspresikan suatu nilai dalam komputer. Underflow terjadi karena hasil komputasi terlalu kecil bagi komputer untuk direpresentasikan.
Galat Aritmetika
Bagaimana dengan perkalian dan pembagian?