Pemrograman Analisis Numerik dengan MATLAB

Posted by andi telaumbanua on Jul 26, 2018 in Praktikum |

Pemrograman Analisis Numerik dengan MATLAB

 

Ada beberapa function MATLAB yang digunakan dalam pembahasan ini

Function Keterangan
Abs Harga mutlak
Dblquad Evaluasi integral lipat dua
Erf Fungsi kesalahan
feval Mengeksekusi fungsi yang namanya disebutkan oleh string
fzero Menemukan pembuat nol fungsi satu variabel
gamma Fungsi gamma
inline Konstruksi objek ONLINE
Interp1 Interpolasi satu dimensi
Interp2 Interpolasi dua dimensi
linspace Membagi vektor secara linear
meshgrid Array X dan Y untuk plot grafik tiga dimensi
norm Normal suatu matrik atau vektor
ode23 Penyelesaian persamaan differensial non stiff, metode low order
ode45 Penyelesaian persamaan differensial non stiff, metode medium order
ode113 Penyelesaian persamaan differensial non stiff, metode variabel order
Ode15s Penyelesaian persamaan differensial non stiff, metode variabel order
ode23s Penyelesaian persamaan differensial non stiff, metode low order
poly Konversi akar-akar ke polinomial
polyval Mengevaluasi polinomial
quad Mengevaluasi integral secara numerik, metode low order
quad8 Mengevaluasi integral secara numerik, metode high order
rcond Estimasi kondisi timbal balik
roots Mendapatkan akar-akar polinomial
spline Interpolasi data dengan kubik spline
surf Menggambar permukaan warna 3 dimensi
unmkpp Penyediaan secara detailtentang polinomial sepotong-sepotong

Polinomial

  1. Akar

 Polinomial    : X4  – 12 X3 + 0 X2 +  25 X + 116 = 0

>> p = [1 -12 0 25 116]

      p =

              1   – 12    0    25   116

     Akar polinomial dapat ditentukan dengan fungsi roots :

>> r = roots(p)

      r =

             11.7473

               2.7028

             -1.2251 + 1.4672i

             – 1.2251 – 1.4672i

>> pp = poly(r)

     pp =

              1.0e+002  *

              Columns 1 through 4

               0.0100     -0.1200      0.0000      0.2500

              Columns 5

               1.1600 + 0.0000i

>> pp(abs<1e-12)=0                       {mengubah nilai-nilai kecil menjadi nol}

     pp =

              1.0e+002

               Columns 1 through 4

               0.0100     -0.1200      0         0.2500

              Columns 5

               1.1600 + 0.0000i

  1. Perkalian

 

    Perkalian polinomial dikerjakan dengan fungsi conv

    a(x) = X3  + 2 X2 +  3 X + 4  dengan     b(x) =  X3  + 4 X2 +  9 X + 16

>> a = [1 2 3 4] ; b = [1 4 9 16]

     c= conv(a,b)

     c =

                1    6    20    50    75    84    64

      Hasilnya adalah c(x) = X6 +6 X5+ 20 X4  + 50 X3 + 75 X2 +  84 X + 64

  1. Penjumlahan

>> d = a + b

      d =

              2   6   12   20

>> e = c + [0 0 0 d]

      e =

              1   6   20   52   81   96   84

Membuat fungsi M-file dengan menggunakan editor untuk melakukan penjumlahan polinomial secara umum, caranya buka File pilih New  pilih lagi M-file setelah itu ketiklah contoh berikut ini  :

function p=polyadd(a,b)

if nargin <2, error(‘Kekurangan argumen input’), end  % pengecekan error

a=a(:).’;

b=b(:).’;

na = length(a);

nb= length(b);

p=[zeros(1,nb-na) a] + [zeros(1,na-nb) b];

Setelah selesai mengetik simpan dengan nama file polyadd.m

>> f=polyadd(c,d)

f =

              1   6   20   52   81   96   84

yang sama dengan  e  sebelumnya

>> g=polyadd(c, -d)

g =

              1   6   20   48   69   72    44

yang menghasilkan g(x) = X6 + 6 X5 + 20 X4 +48 X3 + 69 X2 + 72 X + 44

  1. Pembagian

Pembagian polinomial dikerjakan dengan fungsi deconv

>> [q,r] = deconv(c,b)        {Polinomial b yang dibagi dengan polinomial c menghasilkan polinomial q dan sisa r}

q =

       1   2   3    4

r =

       0   0   0    0    0    0    0

  1. Turunan

>> g

      g =

               1   6   20   48   69   72   44

>> h=polyder(g)

     h =

           6   30   80   144   138   72

  1. F.Evaluasi

    Untuk mengevaluasi dikerjakan dengan fungsi polyval

>> x = linspace(-1,3);      %memilih 100 data point antara -1 sampai 3

>> p = [1 4 -7 -10];          %menggunakan polinomial p(x) = X3  + 4 X2   –  7 X  – 10

>> v=polyval(p,x);           %mengevaluasi p(x) menggunakan nilai-nilai x dan menyimpan hasilnya dalam v}

>> plot(x,v), title(‘x^3 + 4x^2 – 7x -19’), xlabel(‘x’)

Gambar 1

Pencarian Nol

fungsi mencapai nol di dekat x = 1.2

>> xzero=fzero(‘humps’,1.2)

 Zero found in the interval: [1.0642, 1.3358].

xzero =

    1.2995

>> yzero=humps(xzero)

yzero =

     0

  1. Pengintegralan

Untuk menghitung luas area di bawah y=humps(x) dalam range 1<z<2 menggunakan trapz untuk setiap plot yang ditunjukkan diatas

>>x=-1:.17:2;          % pendekatan kasar

>> y=humps(x);

>> area=trapz(x,y)

area =

   25.9174

>> x=-1:.07:2;     % Pendekatan halus

>> y=humps(x);

>> area=trapz(x,y)

area =

   26.6243

Fungsi quad dan quad8 yang didasarkan atas konsep matematika kuadratur, fungsi quad8 lebih teliti dari quad.

>> area=quad(‘humps’,-1,2)

area =

   26.3450

>> area=quad8(‘humps’,-1,2)

area =

   26.3450

  1. Pendiferensialan

 

>> x=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1];

>> y=[-.447 1.978 3.20 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];

>> n=2;

>> p=polyfit(x,y,n)

p =

   -9.8015   20.1418   -0.0485

>>xi=linspace(0,1,100);

>> z=polyval(p,xi);

>> plot(x,y,’o’,x,y,xi,z,’:’)

>>xlabel(‘x’), ylabe(‘y=f(x)’)

>> title(‘Pencocokan Kurva Derajat Dua’)

>>pd=polyder(p)

 pd =

        -19.6217   20.1293

Derivatif dari y = -9.8108 X2 + 20.1293 – 0.0317 adalah dy/dx = 19.6217 x + 20.1293

Reply

Copyright © 2024 All rights reserved. Theme by Laptop Geek.