Академический Документы
Профессиональный Документы
Культура Документы
Kelas : TI-1.3
NIM : 1757301035
SourceCode Header.h
void regresi_linier(float *A0, float *A1, float *R, float X[16], float
Y[16], int N);
SourceCode Main.c
#include "stdio.h"
#include "math.h"
#include "string.h"
#include "stdlib.h"
#include "lab12_header.h"
int main()
int n;
float x[16],y_data[16],y_plot[16];
char nama_inputfile[30],nama_outputfile[30];
float a0,a1,r;
//Jumlah Data
n = 15;
strcpy(nama_inputfile,"lab12_data01.dat");
//Baca Data
lab12_baca_data(x,y_data,n,nama_inputfile);
//Tampil Data
lab12_tampil_data01(x,y_data,n);
#ifdef LINIER
regresi_linier(&a0,&a1,&r,x,y_data,n);
#endif
strcpy(nama_outputfile,"lab12_hasil01.txt");
#ifdef PLOT
//Plot data
lab12_plot_regresi(x, y_data,y_plot,a0,a1,n,nama_outputfile);
lab12_tampil_data01(x,y_plot,n);
#endif
return 0;
SourceCode io.c
#include "stdio.h"
#include "math.h"
#include "string.h"
#include "stdlib.h"
#include "lab12_header.h"
int I;
printf("|-----------------------------------------------|\n");
printf("| X | Y |\n");
printf("|-----------------------------------------------|\n");
printf("|-----------------------------------------------|\n");
printf("\n");
}
void lab12_baca_data(float X[16], float Y[16], int N, char
NAMA_INPUTFILE[30])
int I;
FILE *P_BACA_DATA;
P_BACA_DATA=fopen(NAMA_INPUTFILE,"r");
if(P_BACA_DATA == NULL)
exit(0);
fclose(P_BACA_DATA);
SourceCode Solver.c
#include "stdio.h"
#include "math.h"
#include "string.h"
#include "stdlib.h"
#include "lab12_header.h"
int I;
FILE *P_OUTPUT;
P_OUTPUT=fopen(NAMA_OUTPUTFILE,"w");
Y_PLOT[I] = A0 + A1 * X[I];
fclose(P_OUTPUT);
void regresi_linier(float *A0, float *A1, float *R, float X[16], float
Y[16], int N)
int I;
SUMX = 0.0;
SUMY = 0.0;
SUMX2 = 0.0;
SUMY2 = 0.0;
SUMXY = 0.0;
SUMX = SUMX+X[I];
SUMY = SUMY+Y[I];
SUMX2 = SUMX2+pow(X[I],2);
SUMY2 = SUMY2+pow(Y[I],2);
SUMXY = SUMXY+X[I]*Y[I];
X_RATA=SUMX/N;
Y_RATA=SUMY/N;
//Hitung A1
//Hitung A0
//Hitung R
Input Persamaan
Makefile
Hasil Run
Output file
data x y
1 10 18.2808
3
2 16.3 20.8911
9
3 23 23.5015
5
4 27.5 26.1119
5 31 28.7222
6
6 35.6 31.3326
2
7 39 33.9429
8
8 41.5 36.5533
3
9 42.9 39.1636
9
10 45 41.7740
5
11 46 44.3844
1
12 45.5 46.9947
6
13 46 49.6051
2
14 49 52.2154
8
15 50 54.8258
4
Grafik
Data
60
20
10
0
0 2 4 6 8 10 12 14 16
Komentar:
Dapat dilihat dari grafik diatas bahwa jalur regresi memotong
jalur linear sebanyak 2 kali,yang pertama pada iterasi 4 regresi
melakukan pemotongan ke atas pada garis linear dan yang kedua pada
iterasi ke 12 regresi melakukan pemotongan ke bawah,regresi dilakukan
bertujuan untuk memperoleh persamaan kurva pendekatan dari titik-titik
data.
Dokumentasi
pico lab12_ver1.c
pico lab12_ver2.c
gcc lab12_ver2.c -lm
pico lab12_ver2.c
pico lab12_ver2.c
pico lab12_ver2.c
pico lab12_ver2.c
gcc lab12_ver2.c -lm
./a.out
ls
pico lab12_hasil01.txt
mkdir project12
ls
cd project12/
mkdir src
mkdir run
ls
cd src
pico lab12_header.h
pico lab12_main.c
pico lab12_IO.c
pico lab12_solver.c
pico makefile
ls
pico Makefile
make
cd ../run/
ls
./project12
pico lab12_data01.dat
history -w muhammad_nofrizal_lab12.txtpico lab12_ver1.c
pico lab12_ver2.c
gcc lab12_ver2.c -lm
pico lab12_ver2.c
pico lab12_ver2.c
pico lab12_ver2.c
pico lab12_ver2.c
gcc lab12_ver2.c -lm
./a.out
ls
pico lab12_hasil01.txt
mkdir project12
ls
cd project12/
mkdir src
mkdir run
ls
cd src
pico lab12_header.h
pico lab12_main.c
pico lab12_IO.c
pico lab12_solver.c
pico makefile
ls
pico Makefile
make
cd ../run/
ls
./project12
pico lab12_data01.dat
history -w muhammad_nofrizal_lab12.txt