Tag: Matlab

  • Tipe Data dan Variable Dalam Matlab

    Tipe Data dan Variable Dalam Matlab

    AhmadDahlan.NET – Dalam membuat pemodelan dan menganalisis data dengan bantuan Software Matlab, data dan variable adalah hal yang sangat penting untuk dipahami.

    A. Tipe Data

    Matlab adalah Software pemograman yang mengenal dua jenis data. Data tersebut adalah :

    1. Numerik
    2. String

    Keuntungan dibandingkan bahasa Program lain seperti C, C#, C++ dan turunannya, Pemograman di Matlab tidak membutuhkan deklrasi data yang eksplisit karena Software ini sudah mampu mengenali tipe data yang dimasukkan sebagai input. Selain itu Matlab juga bisa menganalisis tipe data secara dinamis pada waktu yang sama tanpa ada kesalahan atau eror.

    Hanya saja ada beberapa aturan penulisan Sintaks dalam Matlab yang harus diingat, yakni :

    1. Matlab adalah program Sensitive Case dimana huruf besar dan huruf kecil akan dikenal dengan jenis data yang berbeda.
    2. Nama Variable paling panjang adalah 21 Karakter
    3. Penamaan Variable harus dimulai dengan huruf, bukan angka, simbol dan sejenisnya.

    Contoh Pembuatan Variable dalam Matlab

    >> A = 9.800
    A =
        9.800
    >> a = 12000
    a = 
      12000
    >> A1 = 'gravitasi'
    A1 = 
       gravitasi

    Terdapat 15 jenis tipe data dasar yang dikenal oleh Matlab dna semua data dalam Matlab yang disebuat sebagai Class. Matlab mendefenisikan data dalam bentuk Array, sekalipun data yang diinput hanya satu dimensi , maka matblab akan mendefenisikan sebagai Array 1 x 1.

    Array paling sedikit yang dikenal dalam Matlab adalah ordo 0 x 0 kemudian dapat ditambahkan dengan array n dimensi. Dalam bentuk tertentu Array dua dimensi kemudian disebut sebagai matriks.

    B. Variable

    Nama varibale yang dibuat dalam Matlab harus dimulai dengan huruf tidak dengan angka, simbol dengan sejenisnya. Karena Matlab adalah program yang bersifat Sensitive Case, maka varibale gravItasi akan berbeda dengan gravitasi.

    Panjang dari nama Varibale dalam Matlab sebenarnya tidak dibatasi namun hanya Jumlah Varible N yang memiliki makna sedangkan setelah N tidak akan diidentifikasi oleh Matlab. Misalkan jumlah N dari Matlab yang 2008 hanya mengenal 31 Charakter maka perbedaan huruf ke 32 tidak akan membuat dua varibale tersebut berbeda.

    Untuk menenmukan jumlah N pada Matlab yang kalian gunakan dapat dilakukan dengan perintah :

    >> namelengthmax
    ans =
       63

    Angka 63 ini memberikan informasi mengenai batasan dari karakter yang dikenali sebagai variable dalam Matlab.

    Matlab memiliki beberapa Variabel yang sudah disematkan di dalamnya. Variabel ini bersifat umum sudah disepakati secara luas dan disebut sebagai Built in Variable dalam Matlab.

    ansnama default untuk jawaban dari hasil operasi
    epsAngka terkecil dari 1 + eps > 1
    InfInfinity
    piπ
    i or jsqrt -1
    NaNTidak terdefenisi

    Misalkan kita membuat perintah seperti di bawah ini :

    >> 3/0
    ans 
       Inf

    Jawaban dari 3/0 adalah tidak terhingga

    atau

    >> 0/0
    ans
       NaN
    >> NaN == NaN
    ans 
       0

    Pada saat sebuah variable diketikkan dan menenuhi standar sintak dari Matlab, maka Variable tersebut akan tersimpan di Workspace secara otomatis dan akan terus tersimpan sampai akhirnya kita membersihkan workspase tersebut.

    Misalkan kita mengetik perintah :

    >> D = 2
    ans 
       2
    >> d = 3
    ans 
       3

    Jika kita tidak membersihkan Workspace maka Matlab akan mengingat Variable ini. Sehingga ketika kita menuliskan perintah :

    >> s = D*d
    ans 
       6

    Secara otomatis Matlab akan memanggi Isi dari Variable D dan d lalu mengoperasikan sesuai dengan perintah yang diberikan.

  • Matlab – Interpolasi Linier

    Matlab – Interpolasi Linier

    AhmadDahlan.NET – Interpolasi linier merupakan metode yang digunakan untuk mencari nilai dari sebuah titik yang tidak diketahui dari dua buah titik yang membentuk garis linier yang sudah diketahui terlebih dahulu. Persamaan garis linier adalah :

    y = mx + c

    Interpolasi Garis LInier dengan Matlab

    Misalkan dua buah yang membentuk garis lurus dari titik P1 di x1,y1 ke titik P2 di titik x2,y2. Maka bisa dibandingkan antara P1 dan P2 sebagai berikut :

    Interpolasi Newton Persamaan Garis Linier

    Persamaan ini kemudian bisa ditulis menjadi :

    Persamaan Garis Linie rdi garis Koordinat

    Persamaan ini bisa digunakan untuk mencari nilai y di titik x sembarang. Solusinya adalah :

    clear;
    clc;
    disp('Interpolasi Linier');
    disp('================================');
    x=input('masukkan nilai x= ');
    x1=input('masukkan nilai x1= ');
    x2=input('masukkan nilai x2= ');
    y1=input('masukkan nilai y1= ');
    y2=input('masukkan nilai y2= ');
    y=((y2-y1)/(x2-x1))*(x-x1)+y1;
    disp(['nilai y= ', num2str(y)]);

    Setelah itu silahkan Save dan run script yang dibuat!

    Contoh Kasus :

    Sebuah hasil pengukuran sebuah benda yang bergerak terhadap satuan waktu seperti pada tabel di bawah ini!

    Jarak (m)5101520
    Waktu (s)3,46,610,113,8
    1. Tentukan berapa waktu yang dibutuhkan untuk bergerak sejauh 12 m!
    2. Tentukan Jarak tempuh benda jika bergerak selam 12 sekon!
  • Matlab – Solusi Persamaan Linier dengan Metode Jacobi dan Gauss-Seidel

    Matlab – Solusi Persamaan Linier dengan Metode Jacobi dan Gauss-Seidel

    AhmadDahlan.Net– Mari kita asumsikan kasus Persamaan Linier sebagai berikut :

    a11x1+a12x2+...+a1nxn=b1
    a21x2+a22x2+...+a2nbn=b2
    .
    .
    . am1x1+am2x2+...+amnbn=bn

    Metode Jacobi dilakukan untuk persamaan linier dimana a11, a21, .. am1 tidak 0. Solusi dari masalah ini adalah :

    x1=1/a11(b1 - a12x2 - a13x3 - … a1nxn)
    x2=1/a22(b2 - a22x2 - a23x3 - … a2nxn)
    .
    .
    . xm=1/amm(bm - am2xm - am3xm - … amnxn)

    Solusi dari Jacobi Metode untuk masalah ini adalah :

    Metode Jacoby untuk persamaan Linier

    for i=1,2,..,n

    A. Metode Gauss-Seidel

    Matrik awal A, b dan perkiraan x, inpuut-nya

    A=[5 -2 3 0 6; -3 9 1 -2 7.4; 2 -1 -7 1 6.7; 4 3 -5 7 9; 2 3.5 6.1 -4 -8.1]
    
    A =
    5.0000 -2.0000 3.0000 0 6.0000 -3.0000 9.0000 1.0000 -2.0000 7.4000 2.0000 -1.0000 -7.0000 1.0000 6.7000 4.0000 3.0000 -5.0000 7.0000 9.0000 2.0000 3.5000 6.1000 -4.0000 -8.1000
    
    b=[-1 2 3 0.5 3.1]'
    
    b =
    -1.0000 2.0000 3.0000 0.5000 3.1000
    
    x=rand(5,1)
    
    x =
    0.5447 0.6473 0.5439 0.7210 0.5225
    
    n=size(x,1);
    normVal=Inf;
    % toleransi
    tol=1e-3; GaussItr=0;

    Script Solusi

    plotGauss=[];
    while normVal>tol 
        x_old=x; 
        for i=1:n 
            sigma=0; 
            for j=1:i-1 
                sigma=sigma+A(i,j)*x(j); 
            end 
            for j=i+1:n 
                sigma=sigma+A(i,j)*x_old(j); 
            end x(i)=(1/A(i,i))*(b(i)-sigma); 
        end 
        GaussItr=GaussItr+1; 
        normVal=norm(x_old-x); 
        plotGauss=[plotGauss;normVal];
    end
    fprintf('solusinya adalah : \n%f\n%f\n%f\n%f\n%f in %d iterations',x,GaussItr);

    B. Metode Jacobi

    plotJacobi=[];
    while normVal>tol 
        xold=x; 
        for i=1:n 
           sigma=0; 
           for j=1:n 
               if j~=i 
                 sigma=sigma+A(i,j)*x(j); 
               end 
           end 
           x(i)=(1/A(i,i))*(b(i)-sigma); 
         end 
         JacobItr=JacobItr+1; 
         normVal=norm(xold-x); 
         plotJacobi=[plotJacobi;normVal];
    end
    
    fprintf('Solusi : \n%f\n%f\n%f\n%f\n%f in %d iterations',x,JacobItr);

    C. Perbandingan Hasil Metode Gauss Seidel Vs Jacobi

    figure
    hold on
    plot(1:5:GaussItr,plotGauss(1:5:GaussItr),'LineWidth',2)
    plot(1:5:JacobItr,plotJacobi(1:5:JacobItr),'LineWidth',2)
    text(GaussItr,0.2,'\downarrow')
    text(GaussItr,0.3,'Gauss Seidel')
    text(JacobItr,0.3,'\downarrow')
    text(JacobItr,0.4,'Jacobi')
    legend('Gauss Seidel ','Jacobi ')
    ylabel('Error Value')
    xlabel('Number of iterations')
    title('Gauss Seidel Vs Jacobi')
    hold off
  • Matlab – Metode Eliminasi Gauss

    Matlab – Metode Eliminasi Gauss

    AhmadDahlan.NET – Metode Gauss adalah sebuah metode mengoperasikan nilai-nilai matriks agar menjadi lebih sederhana menggunakan operasi baris elementer (OBE). Fungsinya metode Gauss ini banyak digunakan untuk menyelesaikan persamaan linier yang kompleks.

    Hasil dari operasi ini biasanya berbentuk matriks eselon-baris. Metode ini dimulai dengan mengubah persamaan linear ke dalam matriks ter-augmentasi. Selanjutnya matriks Eselon-baris ini disubtitusi invers.

    Secara umum persamaan linier dapat dituliskan dalam notasi sebagai berikut :

    a21x1 + a22x2 + … + a3nxn = b2
    a21x1 + a22x2 + … + a3nxn = b2
    am1x1 + am2x2 + … + amnxn = bm

    Bentuk Esolon Baris

    (1) Dalam baris elemen-elemen matriks yang tidak semuanya nol, bilangan pertamanya harus dimulai 1.

    Perhatikan baris pertama dan baris kedua matriks yang berwarna biru dan hijau, ke dua baris tersebut telah memenuhi syarat karena bilangan pertama dimulai dari 1, sedangkan yang berwarna merah dimulai dari -1, bukan 1.

    (2) semua baris elemen-elemen matriks yang isinya 0 harus diletakkan paling bawah.

    Contoh salah apda elemen baris operasi Matriks dengan metode Gauss

    Pada matrisk di atas, aturan ke dua tidak terpenuhi karena baris yang semuanya nol tidka berada paling bawah, posisnya di urut dari 0 yang paling sedikit di awal sampai ke bawah. Hal ini juga membuat susunan matriks ini dikenal dengan sebutan matrik segitiga terbalik.

    Sususnan Matrisk yang benar dalam metode Gauss

    (3) Jika terdapat matriks 1 utama yang memenuhi aturan pertama (1) maka letak posisi satunya harus berada di posisi sebelah kanan dari 1 di atasnya.

    Conotoh melanggar aturan ketiga dari metode eliminasi gauss

    Matrik ini melanggar aturan (3) karena pada baris ketiga angka 1 utamanya terlatak pada kolom yang sama, harusnya lebih ke kanan, misalnya sebagai berikut :

    Bentuk Matriks tiga kali terbalik Metode Gauss 0 dengan

    Misalnya tiga buah persaman linier sebagai berikut :

    1. x + y + 2z = 9
    2. 2x + 4y – 3z = 1
    3. 3x + 6y – 5x = 0

    Metode Gauss di Matlab (non-Program)

    A=[1 1 2 9;2 4 -3 1;3 6 -5 0]
    A(2,:)=-2*A(1,:)+A(2,:)
    A(3,:)=-3*A(1,:)+A(3,:)
    A(2,:)=A(2,:)/2
    A(3,:)=-3*A(2,:)+A(3,:)
    A(3,:)=-2*A(3,:)
    z=A(3,4)
    y=A(2,4)-z*A(2,3)
    x=A(1,4)-(A(1,2)*y+A(1,3)*z)

    Jika sintaks ini ditulis dengan benar, seharusnya akan muncul matriks dengan hasil sebagai berikut :

    1 0 0 1
    0 1 0 2
    0 0 0 3

    Dari hasil ini bisa disimpulkan x =1, y = 2 dan z = 3

    Metode Gauss-Jordan (Program)

    n=input('Jumlah Matriks=');
    for i=1:n-1
       M(1,:)=input(['Masukkan SPL baris ke-'num2str(i) '=']);
    end
    disp(M)
    for i=1;n-1
       if M(i,i)==0
           a=1;
           while M(a,1)==0
               a=a+1;
           end
           T=M(i,:);
           M(i,:)=M(a,:);
           M(a,:)=T;
           disp(['B'num2str(i)'<--> B'num2str(a)])
           disp(M)
       end
       for j=i+1:n
          if(M,j)~=0
              disp (['B'num2str(j)'-(num2str(M,(j,i))'/') ...
                   '(num2str(M,(j,i))
              M(j,:)=M(J,:)=((M(j,i)./M(i,i))*(M(i,i));
              disp(M)
           end
        end
    end
    if M(n,n)=0&M(n,n+1)~=0
      disp('Tidak memiliki solusi tunggal')
    else
       for i=n:-1:2
           for j=1-1:-1:1
               disp('B'num2str(j)'-('num2str(j,i))'/'...
                   num2str(M,(j,i))'B'num2str(i)])
               M(j,:)=M(j,:)-(1/M(j,i)./M(i,i))*(i,:));
               disp(M)
           end
       end
       for i=1:n
           disp(['(1/'num2str(M(i,i)) ')B' num2str(i)])
           M(i,:)-1(i,i))*M((i,:);
           disp (M)
       end
       disp('Matrik Solusi')
       disp (M)
       disp('Solusi')
       for i=1:n
           disp(['x'num2str(i) '-' num2str(M(1,n+1))])
       end
    end

    Seteleh menyelesaikan syntaks tersebut, silahkan di run programnya.

    Jumlah Matriks = 3
    Masukkan SPL baris ke-1=[1 1 2 9]
    Masukkan SPL baris ke-2=[2 4 -3 1]
    Masukkan SPL baris ke-3=[3 6 -5 0]

    Setelah itu enter input tersebut.

  • MATLAB – Syntax fzero –  Menghitung Persamaan Non-Linear

    MATLAB – Syntax fzero – Menghitung Persamaan Non-Linear

    AhmadDahlan.Net – Syntax fzero adalah function yang digunakan untuk menghitung persamaan lineer dan non-linear. Hanya saja syntax ini digunakan untk menyelesaikan persamaan matametis dengan satu variabel.

    A. Penggunaan Syntax

    x = fzero('math equation with one variable', a)

    Keterangan :

    1. x : variable peubah
    2. fzero : built-in fuction matlab
    3. math equation : hanya boleh berisi satu variabel
    4. a : nilai x dengan fungsi f(x) = 0 dimana x mendekati a.

    B. Contoh penggunaan fzero pada fungsi non-liner

    Contoh persamaan matematis non-linier

    f(x) = x² - 11

    Penyelesaian:

    >> fplot('x^2-11',[-7 7])

    Setelah dieksekusi maka akan muncul kotak plot

    Untuk mencari solusi persamaan non-linear dengan dua solusi misalnya untuk x = 4 dan x = -4 maka fungsi bisa diselesaikan dengan syntax :

    solus x mendekati 4, maka a=4

    >> fzero('x^2-11',4)
    
    ans =
    
    3.3166

    solus x mendekati -4, maka a=-4

    >> fzero('x^2-11',-4)
    
    ans =
    
    -3.3166

    Berdasarkan masalah tersebut maka solusinya x = 3,3166 dan x = -3,3166

  • MATLAB – Pemecahan Masalah Persamaan Linier Multivariable

    MATLAB – Pemecahan Masalah Persamaan Linier Multivariable

    AhmadDahlan.Net – Persamaan Linier Multivariable merupakan salah satu pemodelan matematika yang digunakan untuk menganalisis masalah-masalah dengan Variable lebih dari satu. Pada permasalah Multivariable dengan dua variable pada kasus-kasus sederhana penyelesaiannya bisa dilakukan dengan melakukan perhitungan manual, tapi pada kasus dengan tiga variabel dengan maslaah kompleks, penyelesaian membutuhkan cara yang lebih lama dan rentang dengan human eror dalam penyelesaian.

    Sebagai contoh pemodelan masalah berikut ini :

    Andi membeli 3 buah buku, 2 buah pulpen dan satu penghapus dengan harga 12 ribu rupiah. Budi membeli 2 buah buku, 7 buah pulpen dan 2 penghapus dengan haraga 28 ribu rupiah, sedangkan Tono yang menukar 7 buah penghapus dengan 8 buah buku dan 2 pulpen, harus menambah 4 ribu rupiah.

    Pertanyaannya adalah berapakah harga dari buku, pulpen dan penghapus tersebut?

    Berdasarkan masalah tersebut kita akan membuat pemodelan matematis seperti berikut ini :

    3x + 2y + z = 12.000
    2x + 7y + 2z = 28.000
    8x + 2y - 7z = 4.000

    Solusinya bisa dilakukan perhitungan dengan metode matriks dengan metode :

    Penyelesaian Masalah Persamaan dengan tiga variable

    Solusi dari masalah ini bisa dimodelkan dengan bantuan komputasi di Matlab seperti solusi berikut :

    Metode Kanan

    » A = [3 2 1; 2 7 2; 8 2 -7]
    
    A =
    
    3 2 1
    2 7 2
    8 2 -7
    
    » B = [12000; 28000; 4000]
    
    B =
    
    12000
    28000
    4000
    
    » X=A\B
    
    X =
    
    1324.5
    3099.3
    1827.8
    Metode Kiri
    » A = [3 2 8; 2 7 2; 1 2 -7]
    
    A =
    
    3 2 8
    2 7 2
    1 2 -7
    
    » B = [12000 28000 4000]
    
    B =
    
    12000 28000 4000
    
    » X =B/A
    
    X =
    
    1324.5 3099.3 1827.8

    Kesimpulan solusi ini adalah x = 1324.5, y = 3099.3 dan z = 1827.8.

  • Pengantar Fisika Komputasi – Hakikat dan Peran

    Pengantar Fisika Komputasi – Hakikat dan Peran

    Ahmad Dahlan – Fisika merupakan cabang dari ilmu pengetahuan yang lebih dari sekedar menghitung meskipun demikian hampir tidak ada makna fisis dari objek fisika tanpa adanya bahasa matematika. Hanya saja, fisika lebih dari sekedar menghafal sederet rumus-rumus dari hukum yang diturunkan secara matematis.

    Fisika harus mempertimbangkan segala aspek dan kemungkinan pada saat melakukan pemodalan masalah nyata yang ada di alam sehingga hasil perhitungan yang dilakukan tepat hampir sama memprediksi apa yang terjadi di alam ketika sebuah pemodalan fisis dilakukan.

    Sebagai contoh dari hukum gravitasi Newton yang manyatakan bahwa percepatan benda jatuh ke Bumi akan selalu sama yakni dengan g = 9,8 m/s sampai dengan 10 m/s.

    Oleh karena itu, kita bisa memperkirakan bahwa bola billiard yang berat dan bola kasti yang lebih ringan akan jatuh menyentuh tanah secara bersamaan setelah 2 sekon. Dari retang waktu ini kita bisa memperkirakan bahwa tinggi gedung sekitar 20 meter.

    Hasil ini diperoleh dari persamaan h=½(gt2), namun apakah hal terjadi ketika kita menjatuh selembar kertas?

    Tentu saja waktu agar kertas tersebut jatuh menyentuh tanah akan jauh lebih lama dibandingkan dengan bola billiar tadi apalagi jika ternyata kertas tertiup angin dan jatuh ke tempat lain. Mungkin waktu yang dibutuhkan akan lebih dari 2 sekon, namun bukan berarti hal ini bisa dijadikan dasar untuk membuat hukum Newton tidak berlaku.

    Kasus tesebut hanya membuktikan bahwa kita lalai dalam memasukkan semua aspek yang ikut ambil bagian dalam menentukan lamanya kertas menyentuh tanah. Sebut saja arah angin, viskositas udara, koefisien gesek udara, luas penampang kertas dan yang paling utama di planet mana kita menjatuh kertas tersebut, hal ini akan berpengaruh ke besar percepatannnya.

    Meskipun kita bisa memasukkan semua aspek dan persamaan yang ada dalam perhitungan namun dalam kasus yang lebih detail, kita mungkin saja akan tetap menemukan perbedaan antara hasil perhitungan secara teori dan kenyataan.

    Perbedaan tersebut mungkin lebih besar dari ketidak pastian mutlak yang didapatkan karena keterbatasan alat ukur. Faktor tersebut bisa jadi muncul karena kekeliruan dalam proses perhitungan terutama mengabaikan angka-angka desimal ke 10 dari metode perhitungan yang kita gunakan.

    Dalam proses menghitung kejadian fisis dengan tingkat ketelitian yang sangat tinggi, manusia mungkin saja tidak bisa melakukan secara tepat hingga 100 angka desimal kecuali anda tetap ngotot dan memastikan setiap angka yang ada dituliskan dengan dengan benar berdasarkan operasi matematisnya.

    Tentu saja menggunakan alat bantu perhitungan otomatis sudah menjadi hal yang lumrah dan proses perhitungan yang idbantu dengan alat hitung otomatis disebut Komputasi. Kata ini diambil dari kata Cumpute yang berarti menghitung. Proses perhitungan yang melibatkan cumputer selanjtunay dikenal dengan sebutan fisika komputasi.

    Dalam kasus ini kita memberikan perintah tertentu pada komputer dengan sejumlah memory yang lebih banyak dalam mendefenisikan angka dari sadar manusia sehingga hasil perhitungannya lebih detail. Selain itu, computer juga membantu manusia menjukkan hasil lebih cepat tersebut dibanding dengan otak manusia yang memang memiliki memori lebih besar namun terkadang kurang teliti pada proses perhitungan.

    Gerak Parabola dengan Komputasi

    Ketika duduk di bangku SMA, mungkin kita mendapat penjelasan bahwa sebuah peluru yang ditembakkan dengan sudut tertentu di atas permukaan bumi akan membentuk sebuh lintasan yang menyerupai parabola, sehingga dikenal dengan sebutan gerak parabola.

    Gerak ini adalah perpaduan geral lurus beraturan ke arah horisontal dan gerak lurus berubah beraturan ke arah Vertikal.

    Sebagai contoh sebuah soal yang populer digunakan untuk materi gerak parabola :

    Sebuah meriam bernama Gustav Gun mampu menembakkan peluru dengan kecepatan 820 m/s. Berapakah jangkauan terjauh dari peluru yang ditembakkan oleh meriam Gustav Gun?

    Jhon McLoone : 2010

    Dalam kasus ini tentu saja kita berharap bawah Range terjauh dalam gerak proyektil adalah 45o, sehinga menurut rumus yang diberikan ketika SMA adalah 67 236.8 m atau 62, 236 km sesuai dengan persamaan gerak parabola.

    Langkah awal adalah hitung waktu tempuhnya :

    Rumus herak parabola t mask gerak peluru

    Setelha menghitung waktunya lalu masukkan ke persamaan jangkauan :

    Rumus jarak jangkauan terjauh Gerak parabola dan peluru

    Angka tersebut kita dapatkan dengan perhitungan manual dengan bantuan Calculator, namun bagaimana jika kita mencoba menghitung dengan bantuan fisika Komputasi.

    Bisa kita lakukan dengan menggunakan bantuan Software Matlab yang identik dengan bahasa program C dan C++.

    Perintah :

    >> y''[t] = -9.81 ; y'[0] = 820 * sin [45] ; y [0] = 0 ; x' [0] = 820 * cos [45] ; x [0] = 0 ;
    
    >> t[mask] = 2*y'[0]/y''[t] 
    
    ans
    
       118.212
    
    >>R [mask] = x'[0]*t[mask]
    
    ans 
    
       68 542.3

    berdasarkan hasil perhitungan yang dilakukan dengan Matlab kita akan menemukan perbadan antara hasil dengan menggunakan kalkulator yakni 67 236.8 m sedangkan dengan komputasi 68 542.3 m. Kesalahan sejauh hampi 1,200 lebih sudah cukup untuk menyapu rata temanmu yang berada di garis depan.

    Tentu saja keduanya sudah benar secara teori dalam menghitung jarak hanya saja perbedaan muncul di pembulatan angka dengan kalkulator yang terbatas, namun mari kita cek dengan data asli dari Meriam Gustav.

    TAbel jangkauan meriam Gustav
    Tabel jangkauan meriam Gustav – Sumber : Wikipedia

    Berdasarkan data yang ditunjukkan dari Wikipedia, meriam ini hanya memiliki jarak maksimum 47 km untuk tipe proyektil tipe HE dan 38 km untuk tipe AP. Ternyata berbeda sekitar hampir 50 % dair nilai perhitungan.

    JIka kita berperan menggunakan perhitungan fisika sederhana dengan menggunakan gerak peluru tentu saja mush kita akan berpesta pora di seberang sisih melihat peluru lawannya jatuh jauh didepan mereka.

    Untuk mendapatkan angka yang lebih nyata sesuai dengan kenyataanya, kita harus memasukkan semua aspek yang nilainya berpengaruh signifikan terhadap hasil perhitungan yakni gaya gesek hambatan udara

    Fd = ½ρv2Cda

    Selain aspek gesekan udara perubahan gerak peluruh terhadap arah gesekan udara juga harus diperhitungkan dengan persamaan diferensial biasa orde II. Semua aspek ini kemudian dimasukkan ke dalam perhitungan dengan bantuan komputasi untuk memodelkan gerak peluru dikehidupan nyata dengan hasil yang lebih tepat.