Fitting Lines to Scatter Plots: A MATLAB Adventure

Fitting Lines to Scatter Plots: A MATLAB Adventure

Pada artikel ini, kita akan membahas bagaimana cara memplot scatter dan memasang garis ke dalam plot tersebut menggunakan MATLAB. Dalam contoh di atas, kita memiliki data eksperimen tentang aliran udara yang mengalir melalui ventilasi dan tekanan pada saat-saat yang berbeda.

Pertama-tama, kita perlu membuka file Excel dan membaca data dari file tersebut menggunakan fungsi xlsread:

fri_12 = xlsread('Fri12PM.xlsx');
fri_150 = xlsread('Fri150PM.xlsx');
tue_1 = xlsread('Tue1PM.xlsx');

Kemudian, kita akan membuat beberapa variabel untuk menghitung aliran udara dan tekanan:

delP_all_ven = [fri_12(:, 6); fri_150(:, 6); tue_1(:, 6)];
delP_ven_inH2O_Pa = 248.84 * delP_all_ven;
delP_all_fan = [fri_12(:, 5); fri_150(:, 5); tue_1(:, 5)];
delP_fan_inH2O_Pa = 248.84 * delP_all_fan;

Kita juga akan membuat beberapa konstanta untuk menghitung aliran udara dan tekanan:

rho_a = 1.225;
C_v = 0.99;
D_tube = 5.096 * 0.0254;
A_t = (pi * D_tube^2) / 4;
d1 = D_tube;
d2 = 2.6 * 0.0254;
beta = d2/d1;
E = 1 / sqrt(1 - beta^4);

Sekarang, kita akan membuat plot scatter untuk menampilkan hubungan antara aliran udara dan tekanan:

Q_ven = C_v * E * A_t * sqrt((2 * delP_all_ven) / (rho_a));
B_fL = Q_ven * delP_all_fan;
subplot(1, 2, 1);
scatter(Q_ven, B_fL, 'filled');
grid on;
xlabel('Volumetric Flow Rate (m^3 / sec)', 'FontSize', fontSize);
ylabel('Power (Watts)', 'FontSize', fontSize);
title('Power vs. Volumetric Flow Rate', 'FontSize', fontSize);

Kita juga akan membuat plot scatter lain untuk menampilkan hubungan antara aliran udara dan tekanan:

subplot(1, 2, 2);
scatter(Q_ven, delP_fan_inH2O_Pa, 'filled');
grid on;
xlabel('Volumetric Flow Rate (m^3 / sec)', 'FontSize', fontSize);
ylabel('Delta Pressure Venturi (Pa)', 'FontSize', fontSize);
title('Volumetric Flow Rate vs. Delta Pressure Venturi', 'FontSize', fontSize);

Akhirnya, kita akan memasang garis ke dalam plot tersebut menggunakan fungsi polyfit dan polyval:

order = 1;
coefficients1 = polyfit(Q_ven, B_fL, order);
x1 = linspace(min(Q_ven), max(Q_ven), 1000);
y1 = polyval(coefficients1, x1);
subplot(1, 2, 1);
hold on;
plot(x1, y1, 'r-', 'LineWidth', 3);
coefficients2 = polyfit(Q_ven, delP_fan_inH2O_Pa, order);
x2 = linspace(min(Q_ven), max(Q_ven), 1000);
y2 = polyval(coefficients2, x2);
subplot(1, 2, 2);
hold on;
plot(x2, y2, 'r-', 'LineWidth', 3);

Scatter Plot with Matrix Data

Dalam beberapa kasus, kita memiliki data yang berbentuk matriks. Contohnya, dalam artikel di atas, kita memiliki data eksperimen tentang aliran udara yang mengalir melalui ventilasi dan tekanan pada saat-saat yang berbeda.

Pertama-tama, kita perlu mengetahui apakah x dan y adalah variabel-variabel penuh matriks atau tidak. Jika tidak, maka kita dapat langsung membuat plot scatter menggunakan fungsi scatter:

x = [1 2 3; 4 5 6];
y = [7 8 9; 10 11 12];
subplot(1, 1, 1);
scatter(x, y);
grid on;
xlabel('X Axis');
ylabel('Y Axis');
title('Scatter Plot');

Namun, jika kita memiliki data matriks yang lebih kompleks, maka kita perlu menggunakan fungsi mesh atau surf untuk membuat plot 3D:

x = [1 2 3; 4 5 6];
y = [7 8 9; 10 11 12];
z = [13 14 15; 16 17 18];
subplot(1, 1, 1);
surf(x, y, z);
grid on;
xlabel('X Axis');
ylabel('Y Axis');
zlabel('Z Axis');
title('Scatter Plot 3D');

Dalam artikel ini, kita telah membahas bagaimana cara memplot scatter dan memasang garis ke dalam plot tersebut menggunakan MATLAB. Kita juga telah membahas bagaimana cara membuat plot scatter dengan data matriks yang lebih kompleks.