LAPAK METNUM_6

Embed Size (px)

DESCRIPTION

deskripsi

Citation preview

  • 1. Gunakan aproksimasi linier menggunakan metode regresi kuadrat terkecil untuk mencocokkan kurva dengan data pada tabel 6.1

    1 2 3 4 5 6 7 8 9 101.8 3.5 4.2 4.9 5.3 6 6.6 6.5 6.4 6.9

    Listing

    #include#include

    int main (){float X[25],Y[25],sx,sy,x2,xy,fx[25],error; float at ,bt; int i,n; FILE *pf; char karakter;

    printf("\nPROGRAM REGRESI LINIER \n");

    printf("Input jumlah data : ");scanf("%d",&n);printf("Input Xi \n");for(i=1;i

  • printf("\n__________________________________________\n");printf("|sigma x = %.3f\t sigma y = %.3f |\n|sigma x^2 = %.3f\t sigma xy = %.3f|\n",sx,sy,x2,xy);printf("_______________________________\n");printf("|at = %f\t bt = %f\t|\n",at,bt);printf("--------------------------------\n");error = 0;for(i=1;i
  • Plot Kurva

    Analisa :

    program diatas merupakan program metode rgresi linier polinom derajat satu , prinsip kerja dari program di atas adalah sebagai berikut :

    1. pengguna diminta memasukkan jumlah data yang akan di regresi2. kemudian pengguna diminta menginput data X dan Y3. program akan memproses data yaitu menentukan sigma dari data misalnya

    sigma x , sigma y dll. Hal ini dibutuhkan untuk perhitungan At dan Bt .4. Data sigma kemudian dimasukkan kedalam rumus At dan Bt , dan akan

    diproses , sehingga dapat diketahui nilai At dan Bt.5. Selanjutnya hasil perhitungan ditampilkan di layar.6. Setelah ditampilkan data disimpan dalam file regresi.txt , yang nantinya

    akan di plotkan sehingga diketahui bentuk kurvanya.

    Setelah di plot kurvanya terlihat bahwa garis xi dihampiri secara linier oleh garis f(xi).

    1 2 3 4 5 6 7 8 9 100

    2

    4

    6

    8

    10

    12

    fx[i] = yx[i]

  • 2. Amati kurva yang dihasilkan apabila pendekatan kurva tabel 6.1 menggunakan metode regresi kuadrat terkecil untuk polinom derajat 2.

    Listing

    #include#include

    int main (){float X[25],Y[25],sx,sy,x2,x3,x4,xy,x2y,fx[25],error; float at ,bt,ct, A[25][25],B[25],C[25],xb,z; int i,j,n,iter,TRUE; FILE *pf; char karakter;

    printf("\nPROGRAM REGRESI LINIER \n");

    printf("Input jumlah data : ");scanf("%d",&n);printf("Input Xi \n");for(i=1;i

  • //mendefinisikan nilai solusi awalfor(i=1;i
  • }//menyimpan data kedalam file

    pf = fopen("regresi2.txt","w");if (pf != NULL) { fprintf(pf,"fx[i] = y\tx[i]\n");for(i=1;i

  • Analisa :

    program diatas merupakan progra regresi dengan polinom derajat 2, prinsip kerjanya hampir sama, namun ada sedikit perbedaan yaitu sebagai berikut :

    1. Setelah menginput data kemudian dilakukan proses perhitungan sigma dari data , dan karena ini polinom derajat 2 maka akan memiliki 3 akar-akar yaitu ( At , Bt , Ct )

    2. Sehingga kita harus menggunakan metode gaus siedel untuk mencari solusi dari persolan di atas.

    3. Untuk menggunakan metode gauss siedel kita harus mendefinisikan data yang ada kedalam bentuk matriks A terlebih dahulu, kemudian mendefinisikan matriks B sebagai matriks tebakan awal yaitu semua elemen samadengan nol. Setelah itu mendefinisikan matrik B sebagai matriks solusi.

    4. Setelah itu dilakukan proses pengolahan dengan metode gauss siedel , dan didapat X[1],X[2] dan X[3] , sebagai Ct, At, dan Bt.Hal ini disesuaikan dengan urutan derajat dari yang terkecil ke yang terbesar.

    5. kemudian dicari nilai F(x) = Bt ^2 + At x + Ct6. selanjutnya data hasil perhitungan ditampilkan dan disimpan

    didalam file.Setelah diplot kurvanya kedalam excel terlihat bahwa garis xi di dekati dengan garis f(xi) yang berupa garis lengkung.

    1 2 3 4 5 6 7 8 9 100

    2

    4

    6

    8

    10

    12

    fx[i] = yx[i]

  • 3. Aproksimasi data pada tabel 6.2 dibawah ini dengan menggunakan metode regresi kuadrat terkecil untuk polinom derajat 1,2, dan 3 , plot data beserta polinomnya.

    x 1.3 1.5 1.9 2.1y 2.54 2.21 2.18 2.6

    Metode regresi kuadrat terkecil polinom derajat 3.

    Listing

    #include#include

    int main (){float X[25],Y[25],sx,sy,x2,x3,x4,x5,x6,xy,x2y,x3y,fx[25],error; float at ,bt,ct,dt, A[25][25],B[25],C[25],xb,z; int i,j,n,iter,TRUE; FILE *pf; char karakter;

    printf("\nPROGRAM REGRESI LINIER \n");

    printf("Input jumlah data : ");scanf("%d",&n);printf("Input Xi \n");for(i=1;i

  • x6 += pow(X[i],6);xy += X[i]*Y[i];x2y += (pow(X[i],2)*Y[i]);x3y += (pow(X[i],3)*Y[i]);}

    //mendeklarasikan matriks AA[0][0] = n; A[0][1] =sx; A[0][2]=x2;A[0][3]=x3;A[1][0] = sx;A[1][1] =x2; A[1][2]=x3;A[1][3]=x4;A[2][0] = x2;A[2][1] =x3; A[2][2]=x4;A[2][3]=x5;A[3][0] = x3;A[3][1] =x4; A[3][2]=x5;A[3][3]=x6;// Mendeklarasikan matriks CC[0] =sy;C[1] = xy; C[2] = x2y; C[3]= x3y;//mendefinisikan nilai solusi awalfor(i=1;i

  • printf("iterasi = %d \n\n", iter);printf("\n x[1] = ct , x[2] = at , x[3] = bt \n\n");printf(" F(x) = bt x^3 + at x^2 + c x + dt \n");printf(" F(x) = %f x^3 + %f x^2 + %f x + %f \n\n",bt,at,ct,dt);

    printf("\n x[1] = dt , x[2] = ct , x[3] = at, x[4] = bt \n\n");printf(" F(x) = bt x^2 + at x + c \n");printf(" F(x) = %f x^2 + %f x + %f \n\n",bt,at,ct);printf(" nilai error = %f \n\n",error);

    printf("F(xi)\t\txi \n");for(i=1; i

  • plot kurva

    1 2 3 40

    0.51

    1.5

    2

    2.5

    3

    fx[i] = yx[i]

  • dengan metode regresi kuadrat terkecil polinom derajat dua

    plot kurva

    dengan metode regresi kuadrat terkecil polinom derajat satu

    1 2 3 40

    0.5

    1

    1.5

    2

    2.5

    3

    fx[i] = yx[i]

  • plot kurva

    Analisa : Program regresi dengan polinom derajat 3 ini prinsip kerjanya sama seperti program regresi polinom derajat 2 sebelumnya, yaitu menggunakan metode gaus siedel untuk mencari nilai akar-akar persamaannya , yang dalam hal ini adalah At, Bt, Ct, dan Dt.Selain itu terdapat penambahan ordo matriks yaitu menjadi 4 x 4, serta ada penambahan variabel yaitu x^5 , X^6 serta X^3*y , hal ini disesuaikan berdasarkan rumus yang telah diturunkan sebelumnya dari persamaan untuk polinom derajat dua.

    Pada data yang sama dengan menggunakan 3 program yaitu regresi polinom derajat 1,2 dan tiga di dapatkan kurva yang berbeda beda,

    1. untuk kurva polinom derajat satu terlihat bahwa garis xi dihampiri dengan suatu garis lurus f(xi)

    2. kemudian untuk polinom derajat 2 dan 3 garis xi dihampiri dengan suatu garis lengkung f(xi) yang terbuka keatas .

    TUGAS AKHIRBuat program untuk menyelesaikan contoh kasus yang diberikan oleh asisten ! Plot kurvanya !

    1. 8 2 11 6 5 4 12 9 6 13 10 3 6 8 12 1 4 9 14

    Tampilan

    1 2 3 40

    0.5

    1

    1.5

    2

    2.5

    3

    fx[i] = yx[i]

  • plot kurva

    2.0,7 1,6 2,5 3,4 4,3 5,2 6,1 3 7,9 8,8 9,7 10,68,9 9,6 14,5 18,7 24,4 29,6 37,1 44,3 52,4 58,8 67,9 76,2

    Tampilan

    1 2 3 4 5 6 7 8 9 100

    2

    4

    6

    8

    10

    12

    14

    fx[i] = yx[i]

  • plot kurva

    Analisa :

    Program untuk polinom derajat 4 prinsip kerjanya sama seperti program sebelumnya hanya saja ada penambahan jumlah ordo serta data sigma yang disesuikan dengan rumus yang telah diturunkan .Dari hasil plot kurva terlihat bahwa garis xi dari soal no 1 dihampiri oleh garis f(xi) yang berbentuk hampir sama dengan xi hanya saja terbalik.Dan untuk kurva soal no 2 , garis xi dihampiri dengan garis f(xi) yang berbentik hampir sam hanya saja nilainya berbeda.

    1 2 3 4 5 6 7 8 9 10 11 120

    1020304050607080

    fx[i] = yx[i]

  • KESIMPULAN

    1. Regresi lanjar adalah pencocokkan kurva untuk data yang memiliki

    hubungan lanjar antara peubah bebas dan peubah terikatnya.

    2. fungsi lanjar :

    y = ax + b

    Dengan menganggap bahwa x memiliki sesatan yang lebih kecil dari pada

    sesatan pada y, maka garis lurus terbaik dapat diperoleh berdasarkan

    metode kuadrat terkecil (regresi terhadap y). Nilai a terbaik dituliskan

    dengan notasi at sedangkan nilai b terbaik dituliskan dengan notasi btdengan: