Hubungan antara tekanan (P), suhu(T), dan volume (V) suatu gas dapat
digambarkan dengan persamaan van der Waals sebagai berikut :
nRT n2a
V nb V2
1. Penyelesaian 1:
% masukkan nilai tetapan
a=1.382;
b=0.03186;
R=8.314e-2;
n=1;
T=500;
V=1;
% hitung dengan persamaan van der Waals
P=n*R*T/(V-n*b)-n^2*a/V^2
2. Penyelesaian 2a:
Untuk memperoleh nilai volume, maka persamaan tersebut harus disusun
ulang sehingga menghasilkan persamaan untuk menghitung volume sebagai
berikut :
nRT n2a
P
0
V nb V2
Karena suku V di dalam persamaan tersebut mengandung pangkat 2, sehingga
penyelesaiannya secara analitis dapat dilakukan dengan menggunakan rumus
akar persamaan kuadrat. Persamaan tersebut juga dapat diselesaikan dengan
metode trial and error dengan mencoba menebak-nebak nilai V yang
memberikan nilai 0 untuk persamaan tersebut. Dengan Matlab, persoalan
tersebut dapat diselesaikan dengan fzero yang merupakan toolbox Matlab
untuk mencari nilai akar suatu fungsi (root finding problems). Untuk lebih
jelasnya bagaimana menggunakan toolbox fzero, silakan akses menu Help
pada Matlab dan gunakan search fzero.
Persamaan tersebut diatur ulang menjadi sebagai berikut :
nRT n2a
y f(V) P
V nb V2
Penyelesaian dengan Matlab adalah sebagai berikut (catatan : kali ini
digunakan subprogram):
% main program problem2
function problem2
% transfer nilai parameter yang
vanderwaals
% dengan menggunakan variable global
global P n R T a b
% masukkan nilai tetapan
a=1.382;
b=0.03186;
R=8.314e-2;
n=1;
T=400;
P=100;
diperlukan
ke
dalam
subprogram
subprogram
untuk
mengambil
nilai
3. Penyelesaian 2b:
Persoalan pada 2a juga dapat diselesaikan dengan menggunakan toolbox
fsolve yang tersedia dari Matlab. fsolve merupakan toolbox Matlab yang
digunakan untuk mencari penyelesaian suatu rangkaian persamaan nonlinier
(tidak hanya terbatas pada satu persamaan seperti yang akan diselesaikan
disini). Penyelesaian dengan Matlab juga tidak jauh berbeda dengan fzero
sebagai berikut:
% main program problem2
function problem3
% transfer nilai parameter yang diperlukan ke dalam subprogram
vanderwaals
% dengan menggunakan variable global
global P n R T a b
% masukkan nilai tetapan
a=1.382;
b=0.03186;
R=8.314e-2;
n=1;
T=400;
P=100;
% penyelesaian dengan solve
% berikan nilai tebakan V awal (V0)
V0=2;
% penggunaan fungsi fsolve
Vhit=fsolve(@vanderwaals,V0)
% subprogram vanderwaals
function y=vanderwaals(V)
%deklarasi variabel global pada subprogram untuk mengambil nilai
parameter
%yang ditransfer dari main program
global P n R T a b
y=P-n*R*T/(V-n*b)+n^2*a/V^2;
B. Kapasitas panas (Cp) suatu zat sebagai fungsi suhu (T) dapat didekati
dengan persamaan nonlinier sebagai berikut:
Cp a bT
c
T2
2. Penyelesaian 2a (fzero):
Persamaan yang akan diselesaikan disusun ulang sebagai berikut:
y f(T) Cp a bT 2
T
% main program
function problemB2
global a b c Cp
a=22.13;
b=11.72e-3;
c=0.96e5;
Cp=26.62;
% penyelesaian dengan fzero
% berikan nilai tebakan T awal (V0)
T0=400;
% penggunaan fungsi fzero
Thitung=fzero(@hitungCp,T0)
% subprogram hitung Cp
function y=hitungCp(T)
global a b c Cp
y=Cp-(a+b*T+c/T^2)
y=Cp-(a+b*T+c/T^2)
3. Penyelesaian 2b (fsolve):
% main program
function problemB3
global a b c Cp
a=22.13;
b=11.72e-3;
c=0.96e5;
Cp=26.62;
% penyelesaian dengan fsolve
% berikan nilai tebakan T awal (V0)
T0=400;
% penggunaan fungsi fsolve
Thit=fsolve(@hitungCp,T0)
% subprogram hitung Cp
function y=hitungCp(T)
global a b c Cp
y=Cp-(a+b*T+c/T^2);