• Tidak ada hasil yang ditemukan

MATLAB HANIF (1)AAAAAAAAAAAAAAAAA

N/A
N/A
10@Hanif Fawaz

Academic year: 2024

Membagikan "MATLAB HANIF (1)AAAAAAAAAAAAAAAAA"

Copied!
21
0
0

Teks penuh

(1)

METODE NUMERIK DAN KOMPUTASI PROSES

TEKNIK KIMIA TA 2023/2024

Picture from: https://www.123rf.com/photo_17350280_children-and-computer.html

Name/NIM: Hanif Fawaz Za’im/122280097

SENANG DAN BAHAGIA BERKOMPUTASI DENGAN MATLAB

(2)

Session 1 (Pengenalan MATLAB)

1. Case one Case one (Variabel Numerik dan Operasi Matematika serta Perintah Dasar) Tuliskan Soal

Masukkan program matlab yang sudah dibuat dikotak ini clc

clear all a=2

b=[4 2 6 8]

c=[4;2;6;8]

d=[4 2 6 8]'

e=[1,2,3;4,5,6;7,8,9;10,11,12]

pi

5+5*2/2

%Operasi Skalar A=9;

B=10;

C=A*B %KATA KATA HARI INI, GUNAKAN ";" PADA AKHIR UNTUK TIDAK MENAMPILKANNYA PADA COMMAND WINDOWS

%Operasi Vektor D=[1 2 3 4];

E=[3 4 5 6]';

F=D*E %KATA KATA HARI INI, DALAM PERKALIAN VEKTOR HARUS MEMENUHI KAIDAH BARIS DAN KOLOM DIMANA BARIS HARUS DIKALIKAN DENGAN KOLOM

%Operasi perkalian matrix 2 baris 3 kolom G=[1 2 3 4; 5 6 7 8];

H=[4 3 2 1;8 7 6 5;10 9 8 7];

I=G*H'

Masukkan result yang keluar di command window dan grafiknya

(3)

a = 2

b =

4 2 6 8

c =

4 2 6 8

d =

4 2 6 8

e =

1 2 3 4 5 6 7 8 9

(4)

10 11 12

ans = 3.1416

ans = 10

C = 90

F = 50

I =

20 60 80 60 164 216

(5)

Session 2 (Pengendalian Alur Perhitungan)

1. Case one (11 anggota pertama deret Fibonacci)

Masukkan program matlab yang sudah dibuat dikotak ini

%Deret Fibonacci clc

clear all f(1)=0;

f(2)=1;

for i=3:11

f(i)=f(i-2)+f(i-1);

end disp(f)

Masukkan result yang keluar di command window dan grafiknya 0 1 1 2 3 5 8 13 21 34 55

>>

2. Case two (anggota pertama dari deret Fibonacci yang nilainya lebih dari 10.000, while loops)

Masukkan program matlab yang sudah dibuat dikotak ini

%Deret Fibonacci brp anggota pertama nilainya 10000 clc

clear all

i=1 %anggota pertama f(i)=0;

i=i+1 %anggota kedua

(6)

f(i)=1;

while f(i)<10000 i=i+1

f(i)=f(i-2)+f(i-1);

end disp(f) disp(i)

Masukkan result yang keluar di command window dan grafiknya i =

1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9 i = 10 i = 11 i = 12 i =

(7)

13 i = 14 i = 15 i = 16 i = 17 i = 18 i = 19 i = 20 i = 21 i = 22

Columns 1 through 8

0 1 1 2 3 5 8 13 Columns 9 through 16

21 34 55 89 144 233 377 610 Columns 17 through 22

987 1597 2584 4181 6765 10946 22

>>

3.Case 3 (Konversi nilai angka ke huruf dengan if-else-end) Masukkan program matlab yang sudah dibuat dikotak ini

%Program konversi nilai clc

clear all

(8)

disp('Program konversi nilai angka kedalam bentuk huruf') nilai=input('Nilai ');

if nilai ==100

disp('Anjay Anda mendapat nilai A+') elseif nilai >=75

disp('Bolehlaa Anda mendapat nilai A') elseif nilai >=65

disp('Lumayan Anda mendapat nilai B') elseif nilai >=55

disp('Bjirr Anda mendapat nilai C') elseif nilai >=45

disp('Kasian amat Anda mendapat nilai D') else

disp('Anda mendapat nilai E mending ngulang wkwkwk') end

Masukkan result yang keluar di command window dan grafiknya Program konversi nilai angka kedalam bentuk huruf

Nilai 88

Bolehlaa Anda mendapat nilai A

>>

4. Case 4 (rekomendasi berdasarkan nilai dengan switch-case) Masukkan program matlab yang sudah dibuat dikotak ini

%Rekomendasi berdasarkan nilai clc

clear all nilai='A' switch nilai

case{'A+','A','B'}

Rekomendasi='Lulus, tidak perlu mengulang' case'C'

Rekomendasi='Lulus, disarankan mengulang' otherwise

Rekomendasi='Tidak lulus, harus mengulang' end

fprintf('nilai = %s maka direkomendasikan %s.\n',nilai,Rekomendasi)

Masukkan result yang keluar di command window dan grafiknya

nilai =

(9)

'A'

Rekomendasi =

'Lulus, tidak perlu mengulang'

nilai = A maka direkomendasikan Lulus, tidak perlu mengulang.

>>

5. Case 5 (Grafik garis (line chart): plot 1)

Masukkan program matlab yang sudah dibuat dikotak ini clc

clear all

x = linspace(-pi,pi,101);

y = sin(x);

plot(x,y)

Masukkan result yang keluar di command window dan grafiknya

6. Case 6 (Grafik garis (line chart): plot 2)

Masukkan program matlab yang sudah dibuat dikotak ini clc

clear all

(10)

x = linspace(-pi,pi,101);

f1 = sin(x);

f2 = cos(x);

f3 = sin(x)+cos(x);

plot(x,f1,'*r',x,f2,'ob',x,f3,'dk-') title('Contoh Grafik Trigonometri') xlabel('x, rad')

ylabel('f(x)')

legend('sin(x)','cos(x)','sin(x)+cos(x)') Masukkan result yang keluar di command window dan grafiknya

(11)

Session 3 (Akar-akar persamaan)

1. Penyeksaian Akar-akar sistem persamaan linear Selesaikan persamaan sebagai berikut:

5x + y + 8z = 46 4x – 2y = 12 6x + 7y + 4z = 50

Masukkan program matlab yang sudah dibuat dikotak ini

%Penyelesaian sistem persamaan linear clc

clear all

A=[5 1 8;4 -2 0;6 7 4]

C=[46;12;50];

B = A\C

%untuk mengecek kebenaran hasilnya chit =A*B

Masukkan result yang keluar di command window dan grafiknya A =

5 1 8 4 -2 0 6 7 4

B = 4.0000

(12)

2.0000 3.0000

chit =

46 12 50

2. Akar persamaan non linear dengan EMINSEARCH

Sebuah tangka berbentuk bola dipakai untuk menyimpan cairan. Volume cairan dapat dihitung sebagai berikut:

V=V=π h2(3Rh) 3V

Dimana V=volume (m2), h=kedalaman air di tangki (m), dan R=3m. Seberapa dalam tangki harus harus diisi agar dapat menampung cairan sebanyak 30 m3.

Masukkan program matlab yang sudah dibuat dikotak ini function Dua_contoh_fzero

clc; clear

%Akar persamaan nonlinier dengan FMINSEARCH function f=volume(hi)

f=V-pi*hi^2*(3*R-hi)/3;

end

%Data

R=3; %Radius tangki, m V=30; %Volume tangki, m3 h0=1; %tebakan awal h h=fzero(@volume,h0);

%Catat hasil perhitungan

(13)

fprintf('Tinggi cairan dalam tangki bola=%4.2f m\n',h) end

Masukkan result yang keluar di command window dan grafiknya Tinggi cairan dalam tangki bola =2.03 m

(14)

3. Persamaan non linear dengan fsolve.

Masukkan program matlab yang sudah dibuat dikotak ini function DUA_CONTOH_fsolve

clc

clear all

%akar persamaan nonlinear dengan FMINSEARCH function f = volume(hi)

f=V-pi*hi^2*(3*R-hi)/3;

end

%Data

R = 3; %radius tangki, m V = 30; %volume cairan, m3 h0= 1; %tebakan awal h h= fsolve (@volume, h0);

%cetak hasil perhitungan

fprintf('Tinggi cairan dalam tangki bola=%4.2f m\n',h) end

Masukkan result yang keluar di command window dan grafiknya

Equation solved.

fsolve completed because the vector of function values is near zero as measured by the value of the function tolerance, and

the problem appears regular as measured by the gradient.

<stopping criteria details>

Tinggi cairan dalam tangki bola=2.03 m

(15)

4. Sistem Persamaan Nonlinear

Sistem Persamaan nonlinear dapat diselesaikan dengan fungsi fsolve Masukkan program matlab yang sudah dibuat dikotak ini

function Dua_nonlin_fsolve

%penyelesaian persamaan sistem nonliear clc;clear all

function f=dcdt(x) f=zeros(4,1);

f(1)=u*(CAin-x(1))+V*(-k1*x(1)*x(2));

f(2)=u*(CBin-x(2))+V*(-k1*x(1)*x(2)-2*x(3)*x(2));

f(3)=u*(CCin-x(3))+V*(k1*x(1)*x(2)-k2*x(3)*x(2));

f(4)=u*(CDin-x(4))+V*(k2*x(3)*x(2));

end

%Data u=1;

V=100;

k1=1;

k2=1;

CAin=1;

CBin=2;

CCin=0;

CDin=0;

%Perhitungan dengan FZERO x0=[.1 .1 .1 .1]';

xi = fsolve(@dcdt,x0);

%cetak hasil perhitungan

fprintf ('Konsentrasi A= %6.4 f \n',xi(1)) fprintf ('Konsentrasi B= %6.4 f \n',xi(2)) fprintf ('Konsentrasi C= %6.4 f \n',xi(3)) fprintf ('Konsentrasi D= %6.4 f \n',xi(4)) end

Masukkan result yang keluar di command window dan grafiknya

Equation solved.

fsolve completed because the vector of function values is near zero as measured by the value of the function tolerance, and

the problem appears regular as measured by the gradient.

<stopping criteria details>

Konsentrasi A= 0.0566 Konsentrasi B= 0.1666 Konsentrasi C= 0.0534

(16)

Konsentrasi D= 0.8900

(17)

Session 4 (PERSAMAAN DIFERENSIAL ORDINER)

1. Penyelesaian persamaan dengan cara integrasi analitis Masukkan program matlab yang sudah dibuat dikotak ini

%menyelesaikan metode intregrasi analitis

%membuat grafik dan tabel clc

clear all

%data

F=11; %L/detik G=10; %L/detik v0=100; %L c0=15; %kg/L Cin=0;

t=0:10;

%menghitung c=f (t) if F~=G

c=Cin-(Cin-c0)./exp(F/(F-G)*log((v0+(F-G)*t)/v0));

else

c=Cin-(Cin-C0)./exp(F/(v0*t));

end

%membuat tabel

fprintf('hasil perhitungan:\n') fprintf('---\n')

fprintf('t(detik) c(kg/liter)\n') fprintf('---\n')

fprintf('%4.if %8.4f\n',[t;c]) fprintf('---\n')

%membuat grafik plot(c,t)

xlabel('waktu,menit')

ylabel('konsentrasi,kg/L')

Masukkan result yang keluar di command window dan grafiknya hasil perhitungan:

(18)

--- t(detik) c(kg/liter) --- f 15.0000 1f 13.4449 2f 12.0639 3f 10.8363 4f 9.7437 5f 8.7702 6f 7.9018 7f 7.1264 8f 6.4332 9f 5.8130 10f 5.2574 ---

>>

2. Penyelesaian persamaan dengan cara Penyelesaian PD ordiner Masukkan program matlab yang sudah dibuat dikotak ini

function Tiga_1b_ode

%Penyelesaian 3.1.b. ODE solver clc

clear all

% Data

F=11; %L/det G=10; %L/det V0=100; %L c0=15; %kg/L cin=0;

tf=10;

% fungsi persamaan (3.1) da (3.2) function f=dcdt(ti,ci)

f= F*(cin-ci)/(V0+(F-G)*ti);

end

%penyelesaian dengan ode45 tspan=0:tf;

[t,c]=ode45(@dcdt,tspan, c0);

%membuat grafik plot(t,c)

xlabel('Waktu, menit'); ylabel('Konsentrasi, kg/L') end

Masukkan result yang keluar di command window dan grafiknya

(19)

3. Tugas Tambahan

Masukkan program matlab yang sudah dibuat dikotak ini clc

clear all

%Data

%CH3OH A1=2.211;

B1=12.216e-3;

C1=-3.45e-6;

D1=0;

%H2

A2=3.249;

B2=0.422e-3;

C2=0;

D2=0.083e5;

%CO

A3=3.376;

B3=0.557e-3;

C3=0;

D3=-0.031e5;

%T

Ti=298.15; %K

Tf=(273.15+800); %K

%Hitung Cp/R

%Hitung Cp/R CH3OH

Cp1=A1+B1*(Tf-Ti)+C1*(Tf-Ti)^2+D1/((Tf-Ti)^2);

(20)

%Hitung Cp/R H2

Cp2=A2+B2*(Tf-Ti)+C2*(Tf-Ti)^2+D2/((Tf-Ti)^2);

%Hitung Cp/R CO

Cp3=A3+B3*(Tf-Ti)+C3*(Tf-Ti)^2+D3/((Tf-Ti)^2);

%Hitung dCp/R dCpR=Cp1-Cp2-Cp3;

%Hitung dHrxn at 298.15 K %dHf0 CH3OH

dHf1=-200660; %J/mol %dHf0 CO

dHf2=-110525; %J/mol %dHrxn at 298.15 K dHrxn=dHf1-dHf2;

%Hitung dHr at 800 oC R= 8.314; %J/mol K dHr=dHrxn+R*(dCpR)

fprintf('Panas Reaksi pada 800 oC = %s J/mol',dHr)

Masukkan result yang keluar di command window dan grafiknya dHr =

-9.0117e+04

Panas Reaksi pada 800 oC = -9.011659e+04 J/mol>>

3. Tugas Tambahan 2

Masukkan program matlab yang sudah dibuat dikotak ini clc; clear all

%Mencari Harga Konversi A pada Kesetimbangan (z)

%Data

Hrxn= -2e4; %cal/gmol Tf= 400; %K

P= 20; %atm Tref= 298; %K

F0= 1000; %gmol/jam A= 83-6; %atm

B= 4500; %K

(21)

CpA= 7; %cal/mol.K CpB= 8; %cal/mol.K CpC= 12; %cal/mol.K R= 1,987; %cal/mol.K

% Looping

z= 0.1; % Mulai dari z = 0.1 for i= 1:50

% Konversi mol A

A= 0.25*(1-z)*P/(1-0.5*z);

xB= (1-z)/2;

CpA= F0*(1-z)/(A*R*Tf/1000);

k= A*exp(-B/Tf);

kC= (P/xB^2)*(A^2/k);

znew= (1+kC*(1-z)^2/((1-z)+2*B))^(-0.5);

% Perhitungan entalpi

deltaH = Hrxn/1000 + (CpC-CpA-2*CpB)*(Tf-Tref);

F = deltaH*F0/(0.25*(1-z)*CpA + (0.75-0.5*z)*CpB + 25*z*CpC);

Tf = Tf-F;

% Cek konvergensi if abs(znew-z) < 1e-6 break

end

z = znew;

end

% Hasil

fprintf('Konversi A pada kesetimbangan = %2f%%\n', z);

fprintf('Iterasi yang diperlukan = %d\n', i);

Masukkan result yang keluar di command window dan grafiknya R =

1

Konversi A pada kesetimbangan = 1.000000%

Iterasi yang diperlukan = 7

>>

Referensi

Dokumen terkait

Ike Yuliastuti / Pembuatan Aplikasi Program Matlab untuk Menganalisa Sifat Lasing Kaca TZBN Yang Didadah Ion Nd 3+ sebagai Bahan Material Host Laser2. Jurnal Fisika Indonesia

Dari Tabel 1, berdasarkan iterasi yang dihasilkan keempat metode dalam mendekati akar persamaan nonlinear dapat dilihat bahwa Metode Iterasi Baru memiliki jumlah iterasi yang

Dari hasil perhitungan dengan menggunakan formulasi persamaan (1) terlihat bahwa yield radionuklida 18 F dari reaksi 18 O(p,n) 18 F mulai dari energi berkas proton 3 MeV

Berikut ini diperlihatkan script perhitungan program MATLAB untuk mencari perbandingan solusi numerik dan analitik persamaan integral Volterra dari contoh 2... *quad(F,x(i),x(i+1));

Keywords. Artikel ini membahas metode Baru untuk menemukan akar pendekatan dari persamaan nonlinear. Proses terbentuknya metode Baru ini diperoleh dari mengkombinasikan