P
P
engantar
engantar
M
M
ATLAB
ATLAB
dengan
dengan
A
A
plikasi
plikasi
F
F
isika
isika
Oleh
Oleh::
ALEX HARIJANTO
ALEX HARIJANTO
PRODI FISIKA
PRODI FISIKA
–
–
JURUSAN
JURUSAN PEND.
PEND. MIPA
MIPA
FKIP
FKIP
–
–
UNIVERSITAS JEMBER
UNIVERSITAS JEMBER
2013 2013
MODUL 1 MODUL 1 OPERASI-OPERASI ARRAY OPERASI-OPERASI ARRAY 1 1.. TTUUJJUUAANN a.
a. MemMembuabuat t arrarray ay sedsederherhanaana b.
b. MengMengenal penal pengaengalamalamatan artan array (aray (array adrray addressdressing)ing) c.
c. MengMengenal enal kontkontruksi ruksi arraarray (ay (array rray contrcontructiuction)on) d.
d. MengMengenal enal operoperasi asi matematematimatika ska skalakalar-arrayr-array e.
e. MengMengenal enal operoperasi asi matematematimatika ka arraarray-array-arrayy f.
f. MenMengengenal al orioriententasiasi arrarray ay (ar(array ray orioriententatationion))
2.
2. PELPELAKSAKSANANAAAAN KOMN KOMPUTPUTASASII
Hal-hal yang perlu diperhatikan dalam melakukan komputasi menggunakan Hal-hal yang perlu diperhatikan dalam melakukan komputasi menggunakan MATLAB dalam praktikum ini, yaitu:
MATLAB dalam praktikum ini, yaitu:
-- tuliskan setiap pernyataan atau perintah MATLAB tuliskan setiap pernyataan atau perintah MATLAB yang ditulis setelah tandayang ditulis setelah tanda ‘ >> ‘
‘ >> ‘
-- tekan kuncitekan kunci ENTER ENTER untuk mengekskusi perintah MATLAB dan memperolehuntuk mengekskusi perintah MATLAB dan memperoleh hasilnya pada layar monitor
hasilnya pada layar monitor (jendela MATLAB)(jendela MATLAB)
-- bila tidak menginginkan hasil ekskusi pada layar monitor, tuliskan titik-bila tidak menginginkan hasil ekskusi pada layar monitor, tuliskan titik-koma (;) pada setiap akhir
koma (;) pada setiap akhir perintah yang akan diekskusiperintah yang akan diekskusi
-- manfaatkan fasilitasmanfaatkan fasilitas helphelp jika jika ingin mengetingin mengetahui perintah-perintahui perintah-perintah MATLAB,ah MATLAB, dan mengembangkan kemampuan dalam menggunakan perintah-perintah dan mengembangkan kemampuan dalam menggunakan perintah-perintah MATLAB lainnya
MATLAB lainnya
a.
a. PemPembuabuatan artan arraray sedey sederhrhanaana::
Cobalah membuat array sederhana dari x memakai MATLAB, dengan cara Cobalah membuat array sederhana dari x memakai MATLAB, dengan cara sebagai berikut:
sebagai berikut:
> > x
> > x= [ 0 = [ 0 . 1 *. 1 *p i .p i .2 * p2 * pii . 3 *. 3 *p i .p i .4 * p4 * pi . 5i . 5* p i .* p i .6 * p6 * pi . 7i . 7* p i * p i . 8 *. 8 *p i .p i .9 * p9 * pii pp ii ]]
kemudian amati hasilnya, lanjutkan mencari nilai y=sin(x) dengan perintah kemudian amati hasilnya, lanjutkan mencari nilai y=sin(x) dengan perintah berikut ini berikut ini >>y = sin(x) >>y = sin(x) amati hasilnya amati hasilnya b.
b. PenPengalgalamaamatan tan arrarrayay
Lanjutkan pekerjaan a. diatas untuk mencari elemen-elemen x dengan Lanjutkan pekerjaan a. diatas untuk mencari elemen-elemen x dengan mencoba perintah-perintah berikut ini:
mencoba perintah-perintah berikut ini:
>>x(3) >>x(3) >>x(5) >>x(5) >>x(1:5) >>x(1:5) >>y(3:-1:1) >>y(3:-1:1) >>x(2:2:7) >>x(2:2:7) >>y([8 2 9 1]) >>y([8 2 9 1]) Amatilah ap
Amatilah apa yang telah da yang telah dihasilkan MATihasilkan MATLAB diatas:LAB diatas:
c.
c. KoKonsnstrtrukuksi si ararrarayy
Tuliskan perintah-perintah MATLAB kemudian lakukan ekskusi untuk Tuliskan perintah-perintah MATLAB kemudian lakukan ekskusi untuk mendapatkan array dari variabel x
mendapatkan array dari variabel x
>>x=(0:0.1:1)*pi >>x=(0:0.1:1)*pi
>>x=linspace(0,pi,11) >>x=linspace(0,pi,11)
lanjutkan dengan perintah-perintah berikut lanjutkan dengan perintah-perintah berikut
>> >> logspace(0,2,logspace(0,2,11)11) >>a=1:5, b=1:2:9 >>a=1:5, b=1:2:9 >>c = [a b] >>c = [a b] >>d=[a(1:2:5) 1 0 1] >>d=[a(1:2:5) 1 0 1]
d.
d. OperOperasi asi matematematimatika ska skalakalar-arrr-arrayay
Pada pekerjaan sebelumnya, telah dilakukan operasi perkalian antara array Pada pekerjaan sebelumnya, telah dilakukan operasi perkalian antara array dari x dengan skalar
dari x dengan skalar
, dimana masing-masing elemen array dikalikan dengan, dimana masing-masing elemen array dikalikan dengan
. Dalam opersi penjumlahan, pengurangan, perkalian dan pembagian array. Dalam opersi penjumlahan, pengurangan, perkalian dan pembagian array dengandengan sebuah sebuah skalar skalar dilakukan dilakukan dengan dengan operasi operasi terhadap terhadap semua semua anggotaanggota array.
array. Kerjakan
Kerjakan operasi berikut operasi berikut (lanjutan dari (lanjutan dari pekerjaan sebpekerjaan sebelumnya)elumnya)
>>a-2 >>a-2 >>2*a-1 >>2*a-1
e.
e. OperOperasi asi matematematimatika ka arrarray-aray-arrayray
Untuk mendapatkan kembali variabel a dan b dari pekerjaan sebelumnya Untuk mendapatkan kembali variabel a dan b dari pekerjaan sebelumnya lakukan ekskusi berikut
lakukan ekskusi berikut
>>a,b >>a,b >>a+b >>a+b >>ans-b >>ans-b >>2*a-b >>2*a-b >>a.*b >>a.*b >>a*b >>a*b >>a./b >>a./b >>a.\b >>a.\b
Operasi berikut ini
Operasi berikut ini berbeda dengan operasi pembagian sebelumnya,berbeda dengan operasi pembagian sebelumnya,
>>a/b >>a/b
memanggil kembali (recall) variabel a dan
memanggil kembali (recall) variabel a dan b sebelumnyab sebelumnya
>>a, b >>a, b
Operasi
Operasi perpangkaperpangkatantan
>>a.^2 >>a.^2 >>2*a.^2 >>2*a.^2 >>b.^a >>b.^a >>b.^a >>b.^a >>b.^(a-3) >>b.^(a-3) f.
f. OrOrieientntasasi i ararrarayy
Pada pekerjaan-pekerjaan sebelumnya, sebuah array memiliki sebuah baris Pada pekerjaan-pekerjaan sebelumnya, sebuah array memiliki sebuah baris dan banyak kolom, array semacam ini biasa disebut
dan banyak kolom, array semacam ini biasa disebut vektor barisvektor baris , karena, karena berorientasi pada baris. Dengan
berorientasi pada baris. Dengan MATLAB, array yang berorientasi kolom dapatMATLAB, array yang berorientasi kolom dapat dibuat,
dibuat, array array yang yang berorientasberorientasi i kolom kolom biasa biasa disebutdisebut vektor kolom.vektor kolom. Vektor Vektor kolom memiliki banyak baris dan sebuah kolom.
kolom memiliki banyak baris dan sebuah kolom. Kerjakan operasi berikut untuk
Kerjakan operasi berikut untuk mendapatkamendapatkan vektor-vektor baris n vektor-vektor baris dan kolom:dan kolom:
>>c=[1; 2; 3; 4; 5] >>c=[1; 2; 3; 4; 5] >>a=1:5 >>a=1:5 >>b= a’ >>b= a’ >>c= b’ >>c= b’ >>c= a.’ >>c= a.’ >>d=a+i*a >>d=a+i*a >>e=d’ >>e=d’ >>f=d.’ >>f=d.’ Amati hasil-ha
Amati hasil-hasil operasi diatsil operasi diatas.as.
Jika seb
Jika sebuah arruah array memilay memilikiiki banybanyak barak baris dan banyis dan banyak koloak kolom, maka arrm, maka arrayay tersebut berupa daftar bilangan-bilangan berbentuk bidang
tersebut berupa daftar bilangan-bilangan berbentuk bidang persegi panjangpersegi panjang dan lebih dikenal dengan matriks atau array 2 dimensi.
dan lebih dikenal dengan matriks atau array 2 dimensi.
Berikut adalah operasi pembuatan matriks (array dengan banyak baris dan Berikut adalah operasi pembuatan matriks (array dengan banyak baris dan banyak kolom)
» g=[1 2 3 4;5 6 7 » g=[1 2 3 4;5 6 7 8]8] » g=[1 2 3 4 » g=[1 2 3 4 5 6 7 8 5 6 7 8 9 10 11 12] 9 10 11 12] » h=[1,2,3; 4,5,6; 7,8,9] » h=[1,2,3; 4,5,6; 7,8,9] Cobalah Cobalah » » k=[1 2 3;4 5 6 7]k=[1 2 3;4 5 6 7]
untuk mengetahui variabel apa saja yang telah digunakan dalam ruang kerja untuk mengetahui variabel apa saja yang telah digunakan dalam ruang kerja MATLAB
MATLAB saat ini saat ini lakukan olakukan operasi berikperasi berikut:ut: >>whos
>>whos
amatilah apa yang dihasilkan oleh
amatilah apa yang dihasilkan oleh perintahperintah whoswhos
g.
g. TuTugagas ds di Li Labab 1.
1. JaraJarak dk dua ua buah buah titititik k daladalam bm bidanidang g x-y mx-y masingasing-mas-masing ing adaladalah ah A(2,A(2,3) 3) dandan B(4,1 , 4,5) dapat
B(4,1 , 4,5) dapat dihitung dengan MATLAB sebagai berikut:dihitung dengan MATLAB sebagai berikut:
>>A = [ 2 3 ]; >>A = [ 2 3 ]; >>B
>>B = = [ [ 4.1 4.1 4.5 4.5 ];];
jarak antara
jarak antara A dan B dihitung A dan B dihitung dengan rumus:dengan rumus:
2 2 2 2 )) 5 5 .. 4 4 3 3 (( )) 1 1 .. 4 4 2 2 ((
AB AB jarak jarak >>jarak_AB =>>jarak_AB = sqrt(sum(A-Bsqrt(sum(A-B).^2)).^2)
2.
2. Sebuah gSebuah gelombang elombang persegi yapersegi yang simetng simetrik di rik di t = t = 0 dapa0 dapat dijabat dijabarkan dengrkan denganan deret Fourier berikut
coscos77 ... 7 7 1 1 5 5 cos cos 5 5 1 1 3 3 cos cos 3 3 1 1 cos cos 4 4 )) ((t t A A t t t t t t t t x x ωω ωω ωω ωω π πdimana A adalah amplitude gelombang dan
dimana A adalah amplitude gelombang dan
adalah frekwensi sudut.adalah frekwensi sudut. JiJika ka A =A = 1,1,
= 2= 2
maka periode nya T = 2maka periode nya T = 2
/ /
= 1, maka komputasi= 1, maka komputasi terhadap tiga suterhadap tiga suku ku gelombang pgelombang persegi dapat dilaersegi dapat dilakukan sebagai bkukan sebagai berikut:erikut:
>> >> t =t = -2 -2 : 0: 0.0.05 : 5 : 2;2; >> omega = 2*pi; >> omega = 2*pi; >> >> x1 x1 = = cos(omega*t);cos(omega*t); >> x
>> x2 =2 = -co-cos(3s(3*om*omegaega*t)*t)/3;/3; >>
>> x3 x3 = = cos(5*omega*tcos(5*omega*t)/5;)/5; >> xt = 4*(x1 + x2 + x3)/pi; >> xt = 4*(x1 + x2 + x3)/pi; >>
>> plot(t, plot(t, xt), xt), grid grid % % perintah perintah plot plot dan dan tampilkan tampilkan gridgrid
>> title(‘Pendekatan tiga suku
>> title(‘Pendekatan tiga suku gelombang persegi’)gelombang persegi’) >> xlabel(‘t’)
>> xlabel(‘t’) >> ylabel(‘x’) >> ylabel(‘x’)
3.
3. MoMomen men dan dan pupusat sat gragravitvitasiasi
1000 1000 m m11 mm22 mm33 mm44 800 800 580 580 400 400 35 35 65 65 4545 75 75
Gambar diatas menunjukkan sebuah sistem massa kolinear. Massa
Gambar diatas menunjukkan sebuah sistem massa kolinear. Massa bersatuanbersatuan dalam kg dan jarak dalam satuan mm. Dalam kerja ini akan dihitung pusat dalam kg dan jarak dalam satuan mm. Dalam kerja ini akan dihitung pusat gravitasi dari sistem. Untuk
gravitasi dari sistem. Untuk ini perlu ini perlu didefinisikadidefinisikan vektor-vektor:n vektor-vektor:
>>massa = [ 35 65 45 75 ]; >>massa = [ 35 65 45 75 ]; >>j
>>jaraarakk = [ 4= [ 400 500 580 880 800 100 1000 000 ];];
Vektor momen-m
Vektor momen-momoen terhadaomoen terhadap sumbu referensi ditp sumbu referensi ditunjukkandalunjukkandalam gambaram gambar diberikan dengan hasil kali array (array
diberikan dengan hasil kali array (array product)product)
>> momen = massa .*
>> momen = massa .* jarakjarak
momen total (m
momen total (momen_t) dihasiomen_t) dihasilkan dengan hasil kalkan dengan hasil kali skalar li skalar (scalar product)(scalar product)
>> mom
>> momen_t = massa * jarak’en_t = massa * jarak’
sedangkan massa total dihasilkan dari fungsi
sedangkan massa total dihasilkan dari fungsi sumsum
>> M = sum(massa) >> M = sum(massa)
selanjutnya
selanjutnya pusat massapusat massa (cg) dari sitem didefinisikan dengan titik yang (cg) dari sitem didefinisikan dengan titik yang manamana massa total M terkonsentrasi, sehingga momen sistem sama dengan jumlah massa total M terkonsentrasi, sehingga momen sistem sama dengan jumlah momen yang diberikan oleh seluruh
momen yang diberikan oleh seluruh massa:massa:
>> cg = momen_t/M >> cg = momen_t/M
juga dapat
juga dapat dihitung melaluidihitung melalui::
>> cg =
>> cg = massa*jarak’ / sum(massa)massa*jarak’ / sum(massa)
atau atau
>> cg =
>> cg = jarak*massa’ / sum(massa)jarak*massa’ / sum(massa)
4.
4. PeninPeningkatgkatan nilai resan nilai resistaistansi listnsi listrik dengrik dengan tempan temperateratur.ur. Resistansi
Resistansi R R dari sebuah penghantar listrik berbanding lurus terhadapdari sebuah penghantar listrik berbanding lurus terhadap panjangnya
panjangnya LL dan berbanding terbalik terhadap luas dan berbanding terbalik terhadap luas penampangnypenampangnyaa A: A:
A A L L R R
ρρ faktor pembandingfaktor pembanding
disebut resistivitas. Bila resistivitas tembaga pada 20disebut resistivitas. Bila resistivitas tembaga pada 200 0
C adalah C adalah
= 0,0170....0,0178= 0,0170....0,0178
mmmm22 / / m. m. RsistivitRsistivitas as adalah adalah sebuah sebuah fungsifungsi temperatur dan perubahannya dapat ditemperatur dan perubahannya dapat di nyatakan dengannyatakan dengan
)) 1 1 (( αα θθ ρ ρ ρ ρθθ
dimana: dimana: ρρθθ == resistivitas padaresistivitas pada θ θ 00CC
α
α == koefisien temperatur, untuk tembagakoefisien temperatur, untuk tembaga
= 0,0039 K = 0,0039 K -1-1∆θ
∆θ == beda temperatur diatasbeda temperatur diatas 2020 00CC Wisseman (1989)
Wisseman (1989) memberikan hubungamemberikan hubungan yang n yang lebih lengkap sebagai :lebih lengkap sebagai :
)) 1 1 (( 2020 2020 22 20 20 αα θθ ββ θθ ρ ρ ρ ρθθ
dimana: dimana: ρ ρ2020 = 0,0170= 0,0170
mmmm22 / m / m α α2020 = 4,3= 4,3
1010-3-3 K K -1-1 β β2020 == 0,60,6
1010-6-6 K K -2-2untuk membandingkan dua hubungan secara grafik, antara 20
untuk membandingkan dua hubungan secara grafik, antara 2000C denganC dengan 100
10000C, kita buat plot sC, kita buat plot sebagai berikut:ebagai berikut: >> rho
>> rho = 0.0178; = 0.0178; alpha = alpha = 0.0039;0.0039; >> theta = 20: 0.5 :100;
>>
>> dedeltlta = a = ththetetaa –– 2020;; >> rho1 =
>> rho1 = rho*(1 + alpha*delta);rho*(1 + alpha*delta);
>> rho_20 = 0.017; alpha_20 = 0.0043; beta_20 = 0.6*10^(-6); >> rho_20 = 0.017; alpha_20 = 0.0043; beta_20 = 0.6*10^(-6); >> rho2 =
>> rho2 = rho_20*(1 + alpha_20*delta + beta_20*delta.^2);rho_20*(1 + alpha_20*delta + beta_20*delta.^2); >> plot(theta, rho1, theta, rho2)
>> plot(theta, rho1, theta, rho2)
>> xlabel(‘Temperatur, derajad Celcius’) >> xlabel(‘Temperatur, derajad Celcius’) >>
>> ylabel(‘Resistylabel(‘Resistivitas, ohm*mm^2/m’)ivitas, ohm*mm^2/m’)
5.
5. RaRangngkakaiaian n didiododee
Gambar diatas menunjukkan sebuah rangkaian DC berisi sumber tegangan, Gambar diatas menunjukkan sebuah rangkaian DC berisi sumber tegangan, resistor dan
resistor dan sebuah diosebuah diode semikondukde semikonduktor . Jiktor . Jika a tegangan ujtegangan ujung-ujung diodeung-ujung diode adalah
adalah v, makav, maka arusarus yang melyang melewatewati nya dinyati nya dinyatakanakan
))
1
1
((
4040 0 0
vvee
I
I
ii
dimana Idimana I00 adalah arus jenuh balik. Untuk nilai v kecil dan negatif, berlaku iadalah arus jenuh balik. Untuk nilai v kecil dan negatif, berlaku i
--II00. Persamaan diatas adalah . Persamaan diatas adalah nonlinear, untunonlinear, untuk sebuah tegk sebuah tegangan negatangan negatif yangif yang
besar,
besar, akan akan diperoleh diperoleh tegangan tegangan dadal. dadal. Karateristik Karateristik ii –– vv dari diode dapatdari diode dapat dilukiskan sebagai berikut:
dilukiskan sebagai berikut:
>> Io = 1.0e-6; >> Io = 1.0e-6; >> v =-0.05: 0.005: 0.05; >> v =-0.05: 0.005: 0.05; >> >> i = i = IoIo*(e*(exp(xp(40*40*v)v) –– 1);1); >> plot(v, i) >> plot(v, i) >> title(‘Karakteristik diode
>> title(‘Karakteristik diode semikonduktsemikonduktor’)or’) >>
>> xlabel(‘Karakterxlabel(‘Karakteristik Diodistik Diode Semi e Semi Konduktor’)Konduktor’)
ii v v 2k 2k V Vss = 10 V = 10 V ii
6.
6. DaDalalam rm ranangkgkaiaianan pepenynyeaeararah, h, susumbmber er tetegagangnganan V Vss berupa sumberberupa sumber
tegangan AC dengan frekwensi 50 Hz, tegangan di hambatan
tegangan AC dengan frekwensi 50 Hz, tegangan di hambatan R R yaituyaitu
)) 50 50 2 2 sin( sin( 4 4 .. 0 0 t t
vv
ππ untuk membuat plot grafik hasil penyearahan, dilakukanuntuk membuat plot grafik hasil penyearahan, dilakukan sebagai berikut sebagai berikut >> Io = 1.0e-6; >> Io = 1.0e-6; >> t = 0: 0.0001 : 0.05; >> t = 0: 0.0001 : 0.05; >> v = 0.4*sin(2*pi*50*t); >> v = 0.4*sin(2*pi*50*t); >>>> i = i = Io*Io*(ex(exp(p(40*40*v)v) -- 1);1); >> plot(t, i), grid
>> plot(t, i), grid
>> title(‘Rangkaian Diode sebagai Penyearah Setengah
>> title(‘Rangkaian Diode sebagai Penyearah Setengah Gelombang’)Gelombang’) >> xlabel(‘Waktu, s’), ylabel(‘Arus, mA’)
>> xlabel(‘Waktu, s’), ylabel(‘Arus, mA’)
TUGAS MANDIRI TUGAS MANDIRI
Kerjakan soal-soal berikut
Kerjakan soal-soal berikut menggunakan perintah-perintah MATLABmenggunakan perintah-perintah MATLAB a.
a. SebuaSebuah h rangrangkaiakaian tn tertutertutup up DC DC terdterdiri iri dari dari dua dua sumbsumber er tegategangan ngan dan dan tigatiga resistansi. Tentukan besar arus
resistansi. Tentukan besar arus II11 , I, I22 dandan II33
R R
ii
v
v
ss vv 8 8 4 4 1 122VV 66VV I I 22 I I 11 I I 33 10 10b.
b. DuDua a vevektktor or yayaitituu A A
44iiˆˆ
22 j jˆˆ
k k ˆˆ dan dan B B
iiˆˆ
44 j jˆˆ
44k k ˆˆ tegak lurus satu sama tegak lurus satu sama lain. Cari
lain. Carilah besar lah besar sudutsudut antara vekantara vektor tersebuttor tersebut.. c.
c. HitHitungunglah lah skaskala tla tempemperaeratur tur dardarii –50–50,-2,-25,.5,...,..,200200 00C ke dalam skala derajadC ke dalam skala derajad Fahrenheit
Fahrenheit d.
d. HituHitunglanglah dan buath dan buatlah plot dalah plot dari persari persamaan-pmaan-persamersamaan beraan berikutikut 1 1. . y y = = 11 –– 33x x + + 55xx22 – – xx33; ; ppaaddaa --55
xx
55 2 2.. y y == 22 )) 1 1 (( x x
x x ; ; papadada -5-5
xx
55 3MODUL 2 MODUL 2 SCRIPT
SCRIPT DAN DAN FUCNTION FUCNTION M-FILEM-FILE
1
1.. TTUUJJUUAANN a.
a. MeMembmbuauat sct scriript Mpt M-f-fililee b.
b. MembMembuat uat functfunction ion file afile atau tau file file fungsfungsii c.
c. MengMenggunagunakan kan For-LFor-Loops oops daladalam pm permoermogramgramanan d.
d. MengMenggunagunakan Wkan While-Lhile-Loopoops dalas dalam permm permogramogramanan e.
e. MengMenggunagunakan kokan kosntrsntruksi IF-uksi IF-ELSE-ELSE-END dalEND dalam permam permograogramanman f.
f. MenMengengenal opal operaeratotor-or-operperatator logor logika daika dan relan relasisi
2.
2. PELPELAKSAKSANANAAAAN KOMN KOMPUTPUTASASII a.
a. FuFuncnctition Mon M-f-fiillee
Tulis dan simpanlah file berikut dengan nama rata2.m dengan MATLAB Tulis dan simpanlah file berikut dengan nama rata2.m dengan MATLAB editor: editor: Function y = rata2(x) Function y = rata2(x) % rata2.m % rata2.m % fungsi untuk
% fungsi untuk menghitung rata-ratamenghitung rata-rata
% data masukan x berbentuk vektor baris atau kolom % data masukan x berbentuk vektor baris atau kolom
[m,n] = size(x); [m,n] = size(x); if m==1 & n>=1 if m==1 & n>=1 y = sum(x)/n; y = sum(x)/n; elseif m>=1 & n==1 elseif m>=1 & n==1 y = sum(x)/m; y = sum(x)/m; else else
error('masukan harus vektor baris atau kolom') error('masukan harus vektor baris atau kolom') end
Kerjakan contoh-contoh berikut ini: Kerjakan contoh-contoh berikut ini: >>p >>p = = [65 [65 78 98 78 98 76 54 76 54 49]49] >>nilai_rata2 = rata2(p) >>nilai_rata2 = rata2(p) Selanjutnya coba: Selanjutnya coba: >>q = [65; 78; 98; 76; 54; 49 >>q = [65; 78; 98; 76; 54; 49]] >>nilai_rata2 = rata2(q) >>nilai_rata2 = rata2(q)
Evaluasi dengan statemen-statemen berikut Evaluasi dengan statemen-statemen berikut >>h = rand(4,2)
>>h = rand(4,2)
>>nilai_rata2 = rata2(h) >>nilai_rata2 = rata2(h)
Tulislah dan simpanlah file fungsi berikut dengan nama
Tulislah dan simpanlah file fungsi berikut dengan nama radian.mradian.m dengandengan MATLAB editor MATLAB editor Function y = radian(x) Function y = radian(x) % derajad.m % derajad.m
% untuk mengubah satuan sudut dari
% untuk mengubah satuan sudut dari derajad ke radianderajad ke radian
y = x*(pi/180); y = x*(pi/180);
Kerjakan dan ekskusi
Kerjakan dan ekskusi statemen-statstatemen-statemen berikut:emen berikut:
>> alpha = linspace(0, 180, 18); % dalam derajad >> alpha = linspace(0, 180, 18); % dalam derajad >> alpha = radian(alpha); % dalam satuan radian >> alpha = radian(alpha); % dalam satuan radian
b.
b. ScScrriippt Mt M-f-fiilele..
Ketikan statemen-statemen dan perintah-perintah berikut pada suatu Ketikan statemen-statemen dan perintah-perintah berikut pada suatu MATLAB editor simpan dengan nama file
% coba_21.m % coba_21.m
% Membandingkan plot resistivitas umum dengan % Membandingkan plot resistivitas umum dengan % resistivitas oleh Wisseman
% resistivitas oleh Wisseman
rho =
rho = 0.0178; 0.0178; alpha alpha = 0.= 0.0039;0039; theta = 20: 5 :100;
theta = 20: 5 :100; de
deltlta = ta = thehetata -- 2020;; rho1 = rho*(1
rho1 = rho*(1 + alpha*delta);+ alpha*delta);
rho_20 = 0.017; alpha_20 = 0.0043; beta_20 = 0.6*10^(-6); rho_20 = 0.017; alpha_20 = 0.0043; beta_20 = 0.6*10^(-6); rho2 =
rho2 = rho_20*(1 + alpha_20*delta + rho_20*(1 + alpha_20*delta + beta_20*deltabeta_20*delta.^2);.^2); plot(theta, rho1,'k^', theta, rho2,'k+')
plot(theta, rho1,'k^', theta, rho2,'k+') title('Resistivit
title('Resistivitas as Tembaga')Tembaga') xlabel('Temperat
xlabel('Temperatur, ur, (derajad Celcius)')(derajad Celcius)') ylabel('Resistiv
ylabel('Resistivitas, itas, (ohm*mm^2/m)(ohm*mm^2/m)')') legend('\rho umum','\rho Wisseman') legend('\rho umum','\rho Wisseman')
Setelah file
Setelah file coba_21.mcoba_21.m tersimpan dalam ruang kerja MATLAB, cobalahtersimpan dalam ruang kerja MATLAB, cobalah menjalankan program diatas pada MATLAB prompt, dengan mengetik menjalankan program diatas pada MATLAB prompt, dengan mengetik nama program yaitu
nama program yaitu coba_21,coba_21, bila hasil penulisan program diatas benar,bila hasil penulisan program diatas benar, maka akan ditam
maka akan ditampilkan pilkan sebuah jendela (winsebuah jendela (window) gambar dari Mdow) gambar dari MATLAB.ATLAB.
Kemudian kerjakan juga untuk file berikut ini, yaitu untuk menggambar Kemudian kerjakan juga untuk file berikut ini, yaitu untuk menggambar lintasan peluru yang ditembakkan dari bidang datar dalam benntuk lintasan peluru yang ditembakkan dari bidang datar dalam benntuk coba_22.m
coba_22.m % coba_22.m % coba_22.m
% Program untuk membuat plot kedudukan peluru % Program untuk membuat plot kedudukan peluru % dengan masukan:
% dengan masukan: %
% vo vo = = kecepatan kecepatan awal awal (m/s), (m/s), dalam dalam bentuk bentuk skalarskalar %
% alpha alpha = = sudut sudut elevasi elevasi (derajad), (derajad), dalam dalam bentuk bentuk skalarskalar %
clear all clear all g = 9.8; %
g = 9.8; % percepatan gravitasipercepatan gravitasi vo = input
vo = input(' (' kecepatan awakecepatan awal [m/s], misal [m/s], misal 20 = ');l 20 = '); alpha = inp
alpha = input(' ut(' sudut elevasi [dsudut elevasi [derajad], miserajad], misal 45 = ');al 45 = ');
alpha = radian(alpha); % konversi radian ke satuan derajad alpha = radian(alpha); % konversi radian ke satuan derajad
disp(' waktu tembak tulis dalam bentuk vektor, misal [0:.1:5]') disp(' waktu tembak tulis dalam bentuk vektor, misal [0:.1:5]') t_tembak
t_tembak = input= input(' (' waktu temwaktu tembak [atbak [atau tekan au tekan Enter sajEnter saja] = a] = ');'); disp
disp('(' ---')---')
if isempty(t_tembak) == 1 if isempty(t_tembak) == 1
t_datar = (2*vo*sin(alpha))/g; % t sampai
t_datar = (2*vo*sin(alpha))/g; % t sampai di bidang datardi bidang datar t = [0:.1:t_datar];
t = [0:.1:t_datar]; disp('
disp(' Peluru akan Peluru akan jatuh djatuh dibidang ibidang datar')datar') disp('
disp(' tekan Enter tekan Enter untuk melihat untuk melihat lintasan pelulintasan peluru')ru') pause
pause dis
disp(p('' ---')') disp('
disp(' Peluru sampPeluru sampai di ai di bidang datbidang datar')ar') else isempty(t_tembak) ~= 1; else isempty(t_tembak) ~= 1; t = t_tembak; t = t_tembak; disp(' disp(' ==========================================') ==========================================') disp('
disp(' Belum Belum diketahui diketahui lokasi lokasi peluru peluru terakhir terakhir !!!')!!!') disp('
disp(' peluru peluru jatuh jatuh dibawah dibawah bidang bidang datar')datar') disp('
disp(' tekan tekan Enter Enter untuk untuk melihat melihat lintasan lintasan peluru')peluru') pause
pause end end
% kedudukan mendatar peluru % kedudukan mendatar peluru
xt =
xt = vo*cos(alphavo*cos(alpha)*t;)*t;
% kedudukan vertikal peluru % kedudukan vertikal peluru yt
yt = = (vo*(vo*sin(asin(alphalpha)*t)*t -- 0.5*g0.5*g*t.^*t.^2)+ep2)+eps;s;
% plot kedudukan peluru % plot kedudukan peluru clf
clf
plot(xt,yt) plot(xt,yt) title('Lintasa
title('Lintasan n Peluru','Fontw','b','FoPeluru','Fontw','b','Fontsize',12)ntsize',12) xlabel('xt (gerak mendatar), meter')
xlabel('xt (gerak mendatar), meter') ylabel('yt (gerak vertikal), meter') ylabel('yt (gerak vertikal), meter')
Setelah file
Setelah file coba_22.m tersimpan, coba mengekskusi pada MATLAB promptcoba_22.m tersimpan, coba mengekskusi pada MATLAB prompt dengan cara
dengan cara mengetik comengetik coba_22 ba_22 dan tekadan tekan Enter.n Enter.
Tulislah file berikut dan simpan dalam
Tulislah file berikut dan simpan dalam coba_23.mcoba_23.m, fi, file ile ini dni dibuibuatat untuntuk uk meggambarkan beberapa Hampiran Fourier dari gelombang persegi pada meggambarkan beberapa Hampiran Fourier dari gelombang persegi pada suku ke
suku ke nn (bandingka(bandingkan hasilnya dengan n hasilnya dengan komputasi pada Modul 1)komputasi pada Modul 1)
% coba_23.m % coba_23.m % clear all % clear all t = t = -2 : -2 : 0.00.05 : 25 : 2;; omega = 2*pi; omega = 2*pi; n =
n = input('banyinput('banyaknya suku aknya suku : : ');'); nt = length(t); nt = length(t); k=0; k=0; x = zeros(n, nt); x = zeros(n, nt); for i = 1:n for i = 1:n
x(i,:)
x(i,:) =(4*((-1)^(k))*cos=(4*((-1)^(k))*cos(omega*(2*k+1)(omega*(2*k+1)*t))/(2*k+1);*t))/(2*k+1); k = k + 1; k = k + 1; end end xt = sum(x); xt = sum(x); plot(t,
plot(t, xt), xt), grid grid % p% perintah erintah plot plot dan dan tampilkan tampilkan gridgrid title(['Hampi
title(['Hampiran Fourier ran Fourier Gelombang Persegi, n='num2str(n)])Gelombang Persegi, n='num2str(n)]) xlabel('t','Fontw','b','Fontsize',14)
xlabel('t','Fontw','b','Fontsize',14) ylabel('x(t)','Fontw','b','Fontsize',14) ylabel('x(t)','Fontw','b','Fontsize',14)
Setelah file coba_23.m terbentuk cobalah mengekskusi pada MATLAB Setelah file coba_23.m terbentuk cobalah mengekskusi pada MATLAB prompt , gantilah n dengan 3 dan seterusnya (misal:
prompt , gantilah n dengan 3 dan seterusnya (misal: n =n = 100).100).
Tulislah sebuah file dengan nama
Tulislah sebuah file dengan nama coba_24.mcoba_24.m untuk untuk statemen-stastatemen-statementemen dalam box berikut ini. File coba_24.m dipakai untuk menghitung nilai eps, dalam box berikut ini. File coba_24.m dipakai untuk menghitung nilai eps, yaitu bilangan positip terkecil pada Program MATLAB:
yaitu bilangan positip terkecil pada Program MATLAB:
% coba_24.m % coba_24.m % % num=0; EPS=1; num=0; EPS=1; while (1+EPS)>1 while (1+EPS)>1 EPS = EPS/2; EPS = EPS/2; num= num+1; num= num+1; end end eps = 2*EPS; eps = 2*EPS; disp(['
3.
3. TUGTUGAS AS LALABORBORATATORIUORIUMM
Tuliskan program-program dari a sampai c dibawah ini pada kertas Tuliskan program-program dari a sampai c dibawah ini pada kertas folio bergaris dan kumpulkan sebelum melakukan praktikum. Buatlah folio bergaris dan kumpulkan sebelum melakukan praktikum. Buatlah 1 copy
1 copy untuk praktikum (melakukan komputasi di LAB):untuk praktikum (melakukan komputasi di LAB):
a.
a. BuatBuatlah sebualah sebuah fungsi MAh fungsi MATLAB untTLAB untuk membuk membuat konuat konversi suhu daversi suhu dari derajri derajadad Celcius menjadi Fahrenheit.
Celcius menjadi Fahrenheit. b.
b. Buatlah Buatlah sebuah scrisebuah script Mpt MATLAB unATLAB untuk mtuk menggambar enggambar lintasan lintasan peluru di peluru di bidangbidang miring. Dalam program ini, besar
miring. Dalam program ini, besar kecepatan awalkecepatan awal (m/s), sudut tembak (m/s), sudut tembak alpha
alpha (derajad), dan sudut kemiringan bidang(derajad), dan sudut kemiringan bidang betabeta (derajad), dimasukkan(derajad), dimasukkan melalui keyboard.
melalui keyboard.
c.
c. Buatlah sebuah script MATLAB untuk membuat plot sejumlahBuatlah sebuah script MATLAB untuk membuat plot sejumlah n-sukun-suku daridari hampiran fourier sebuah pulsa persegi dengan persamaan deret Fourier: hampiran fourier sebuah pulsa persegi dengan persamaan deret Fourier:
0 02
2
1
1
))
))
1
1
2
2
cos((
cos((
))
1
1
((
4
4
))
((
n n k kk
k
t t
k
k
k
k
t t
u
u
ω
ω
π
π
,, Catatan: k adalahCatatan: k adalahk
k oonstantanstanta
4.
4. TUTUGAGAS S MAMANDNDIRIRII Tuliskan
Tuliskan program-prograprogram-programm soal a soal a sampai sampai d dibd dibawah awah ini pini pada kerada kertas foliotas folio bergaris dan
bergaris dan kumpulkan saat kumpulkan saat Praktikum Modul Praktikum Modul 33
a.
a. TulisTuliskan sekan sebuah sbuah scripcript M-filt M-file untuk e untuk mengmenggambgambarkaarkann lintasanlintasan gerak pelurugerak peluru pada bidang datar dan gerak peluru pada bidang miring. Gunakan pada bidang datar dan gerak peluru pada bidang miring. Gunakan pengendali aliran (
pengendali aliran (control flowcontrol flow), operator logika dan operator relasi untuk ), operator logika dan operator relasi untuk mengadakan pilihan-pilihan jenis gerak peluru, misalnya
mengadakan pilihan-pilihan jenis gerak peluru, misalnya gerak peluru padagerak peluru pada bidang datar
bidang datar atauatau gerak peluru pada bidang miringgerak peluru pada bidang miring . Semua konstanta dan. Semua konstanta dan variabel harus dimasukkan melalui keyboard. Pada program ini, boleh variabel harus dimasukkan melalui keyboard. Pada program ini, boleh ditambahkan penghitungan
puncak
puncak , dan, dan waktu untuk sampai di tanahwaktu untuk sampai di tanah, tinggi maksimum, jauh, tinggi maksimum, jauh tembakan maksimum.
tembakan maksimum. Catatan:Catatan: gunakan satuan SI untuk semua besarangunakan satuan SI untuk semua besaran dan manfaatkan fungsi MATLAB untuk mengubah satuan sudut
dan manfaatkan fungsi MATLAB untuk mengubah satuan sudut dari derajaddari derajad ke radian.
ke radian.
b.
b. TulisTuliskan sebukan sebuah fungsah fungsi MATLAB unti MATLAB untuk menghiuk menghitung bestung besar pergear pergeseran sinaseran sinarr yang melewati kaca plan paralel.
yang melewati kaca plan paralel.
c.
c. TulisTulislah seblah sebuah funuah fungsi untgsi untuk menuk menghitghitung nilung nilai masai masukan (xukan (x) yang) yang menghasilkan keluaran y dari
menghasilkan keluaran y dari persamaan berikutpersamaan berikut
2
2
1
1
2 2 2 2
x
x
ce
ce
y
y
xx jika c = 2. jika c = 2. d.d. TulisTulislah lah fungfungsi usi untuk ntuk suatsuatu teu tempermperaturatur TT pada titik (x,y) dengan persamaanpada titik (x,y) dengan persamaan berikut berikut 2 2 2 2
2
2
))
,,
((
x
x
y
y
x
x
yy
T
T
MODUL 3 MODUL 3 KURVA
KURVA FI TTI NG FI TTI NG DAN INTERPOLASIDAN INTERPOLASI
1.
1. TUTUJUJUAN KOAN KOMPMPUTUTASASII a.
a. MengMengenal penal perinterintah-peah-perintrintah MAah MATLAB TLAB untuk untuk polinpolinomom b.
b. MenMengengenal ial intentegrgrasi asi polpolinoinomm c.
c. MempMempelajaelajari intri interpoerpolasi salasi satu dan dtu dan dua dimeua dimensi densi dengan Mngan MATLAATLABB
2.
2. PELPELAKSAKSANANAAAAN KOMN KOMPUTPUTASASII a.
a. MeMencancari ri akaakar r polpolinoinomm Perintah-perinta
Perintah-perintah MATLAB untuk mencari h MATLAB untuk mencari akar suatu polinom adalahakar suatu polinom adalah rootsroots Contoh:
Contoh: mencari akar suatu mencari akar suatu polynompolynom y y
22 x x33
x x22
44xx22
55Lakukan komputasi berikut pada MATLAB
Lakukan komputasi berikut pada MATLAB prompt:prompt: >>
>> p p = = [ 2 [ 2 1 1 4 4 5 ] 5 ] % p % p adalah adalah koefisien koefisien polinompolinom >> r
>> r = roots(= roots(p) p) % r adala% r adalah akar-akar ph akar-akar polinomolinom
Bila akar-akar polinom diketahui, untuk mencari koefisien polinom dapat Bila akar-akar polinom diketahui, untuk mencari koefisien polinom dapat digunakan perintah
digunakan perintah poly:poly:
Lakukan komputasi berikut pada MATLAB
Lakukan komputasi berikut pada MATLAB prompt:prompt:
>>
>> poly(r) % mencari akar-akar polinompoly(r) % mencari akar-akar polinom
Sebuah polinom dapat dievaluasi dengan
Sebuah polinom dapat dievaluasi dengan perintahperintah polyval,polyval, contoh untuk contoh untuk mengevaluasi
mengevaluasi y y
33 x x44
77 x x33
22 x x22
xx
11 untuk untuk y(2,5)y(2,5) Lakukan komputasi berikut pada MATLABLakukan komputasi berikut pada MATLAB prompt:prompt: » c = [3,
» c = [3, -7, 2, 1, 1]; % -7, 2, 1, 1]; % kofisien-koefisien skofisien-koefisien suatu polinouatu polinomm » xi =
» xi = 2.5; % nilai absis untuk menguji polinom2.5; % nilai absis untuk menguji polinom yy » yi = polyval(c, xi) %
b.
b. PenPenyesyesuaiuaian an polpolininomom
Untuk melakukan komputasi penyesuaian polinom atau
Untuk melakukan komputasi penyesuaian polinom atau polinomial fittingpolinomial fitting,, berikut ini ada contoh suatu set data:
berikut ini ada contoh suatu set data:
xx 11,,11 22,,33 33,,99 55,,11 y
y 33,,888877 4,,24 27766 44,,665511 22,,111177
Cobalah komputasi berikut pada MATLAB
Cobalah komputasi berikut pada MATLAB prompt:prompt: » x = [1.1 2.3 3.9 5.1];
» x = [1.1 2.3 3.9 5.1]; » y = [3.887 4.276
» y = [3.887 4.276 4.651 2.117];4.651 2.117]; » a =
» a = polyfit(x,ypolyfit(x,y,length(x)-1),length(x)-1) a =
a =
--00..2200115 15 1..44338855 --22..77447777 55..44337700
dari operasi diatas, diperoleh koefisien-koefisien polinom, argumen ke tiga dari operasi diatas, diperoleh koefisien-koefisien polinom, argumen ke tiga dari perintah polyfit yaitu length(x)-1 menyatakan orde dari
dari perintah polyfit yaitu length(x)-1 menyatakan orde dari polinom.polinom. Karena orde polinom sama dengan jumlah data
Karena orde polinom sama dengan jumlah data minus satu. Polinom ditulisminus satu. Polinom ditulis sebagai: sebagai: 4370 4370 ,, 5 5 7477 7477 ,, 2 2 4385 4385 ,, 1 1 2015 2015 ,, 0 0 33
22
x x x x xx y y (1)(1) untuk mengevaluuntuk mengevaluasi polinom diasi polinom diatas atas pada sebuah vektpada sebuah vektor absis xi bisaor absis xi bisa dilakukan komputasi berikut:
dilakukan komputasi berikut:
>> yi = polyval(a, xi) >> yi = polyval(a, xi)
c.
c. MencMencari ari inteintegral gral polinpolinom dom dengaengan fun fungsingsi
Untuk memperoleh integral dari polinom pada persamaan (1), buatlah Untuk memperoleh integral dari polinom pada persamaan (1), buatlah sebuah file fungsi
function py = poly_itg(p) function py = poly_itg(p) n=length(p); n=length(p); py = [p.*[n:-1:1].^(-1), py = [p.*[n:-1:1].^(-1),0];0];
Kemudian lakukan komputasi sebagai berikut: Kemudian lakukan komputasi sebagai berikut: >> d = poly_itg(a)
>> d = poly_itg(a)
(dalam komputasi diatas a adalah variabel dari komputasi (dalam komputasi diatas a adalah variabel dari komputasi b.b.))
Dari komputasi diatas akan diperoleh sebuah vektor yang merupakan Dari komputasi diatas akan diperoleh sebuah vektor yang merupakan koef
koefisien isien daridari polipolinomnom Y Y yang secara analitik yang secara analitik dinyatakadinyatakan:n:
2 2 1 1 2 2 2 2 1 1 1 1
2
2
...
...
1
1
nn nn nn nn nncc
cc
x
x
cc
x
x
n
n
cc
x
x
n
n
cc
ydx
ydx
Y
Y
(2)(2) sehingga berupa sehingga berupa]]
,...,
,...,
,,
1
1
[[
11 22 11
cc
nnn
n
cc
n
n
cc
d
d
d.d. MeMencancari turi tururunan pnan poliolinomnom
Selanjutnya untuk mencari turunan dari
Selanjutnya untuk mencari turunan dari Y Y dapat digunakan perintahdapat digunakan perintah polyder
polyder dengan dengan komputasi komputasi sebagai sebagai berikut:berikut: >> b = polyder(a)
>> b = polyder(a)
(dalam komputasi diatas a adalah variabel dari komputasi (dalam komputasi diatas a adalah variabel dari komputasi b.)b.) Sehin
Sehinggagga b akan berub akan berupa vektpa vektoror
]]
,...,
,...,
))
1
1
((
,,
[[
nc
nc
11n
n
cc
22cc
nnb
b
untuke.
e. InteIntegrasgrasi menggi menggunakaunakan fungn fungsi intesi internal Mrnal MATLAATLABB P
Pada contoh diatas, telah dilkukan integrasi secara analitik menggunakanada contoh diatas, telah dilkukan integrasi secara analitik menggunakan fungsi eksternal
fungsi eksternal poly_itg.m.poly_itg.m. Integrasi juga bisa dilakukan denganIntegrasi juga bisa dilakukan dengan menggunakan fungsi internal (fungsi yang tersedia dalam MATLAB), yaitu menggunakan fungsi internal (fungsi yang tersedia dalam MATLAB), yaitu dengan fungsi
dengan fungsi quad.mquad.m yang berfungsi mengevaluasi integral secarayang berfungsi mengevaluasi integral secara numerik.
numerik. Metode Metode integrasi integrasi numerik numerik akan akan dipelajari dipelajari di di kuliah kuliah FisikaFisika Komputasi. Dalam integrasi menggunakan perintah
Komputasi. Dalam integrasi menggunakan perintah quadquad ini, identik ini, identik dengan
dengan integral tertentu.integral tertentu.
Lakukanlah komputasi
Lakukanlah komputasi untuk mengevaluasi fungsi sinus pada batas-untuk mengevaluasi fungsi sinus pada batas-batas
batas 00 sampaisampai π π /4. /4.:: » f='sin';
» f='sin'; » Y
» Y = quad(f,0,pi/4)= quad(f,0,pi/4)
f.
f. MeMencancari inri integtegral fral fungungsi busi buataatan senn sendirdirii Bila kita mempunyai suatu fungsi, misalnya
Bila kita mempunyai suatu fungsi, misalnya y y
33 x x22
22xx
11untuk dicari nilaiuntuk dicari nilai integral-nya pada batas bawahintegral-nya pada batas bawah 00
xx
5, maka perlu dibuatkan fungsinya5, maka perlu dibuatkan fungsinya dalamdalam file fungfile fungsi si (function) (function) sebagaisebagai
Selanjutny
Selanjutnya a lakukan komputasi berikutlakukan komputasi berikut » f = '
» f = 'kwadrat_1'kwadrat_1' » Y = quad(f,0,5) » Y = quad(f,0,5)
function
function y y = = kwadrat_1(x)kwadrat_1(x)
y = 3*x^2 + 2*x + 1; y = 3*x^2 + 2*x + 1;
cobalah dengan perintah
cobalah dengan perintah quad8quad8 » f = '
» f = 'kwadrat_1'kwadrat_1' » Y = quad8(f,0,5) » Y = quad8(f,0,5)
Integrasi menggunakan fungsi
Integrasi menggunakan fungsi trapz,trapz, contoh: mencari nilai integralcontoh: mencari nilai integral
1 1 2 2 3 3 22
x x xx yy padapada 00
xx
5 :5 :Kerjakan komputasi berikut Kerjakan komputasi berikut » x = 0:.2:5; » x = 0:.2:5; » f = kwadrat_1(x); » f = kwadrat_1(x); » Y = trapz(x,f) » Y = trapz(x,f) g.
g. IntIntererpolpolasi sasi satu datu dimeimensinsi
Untuk melakukan interpolasi pada suatu titik-titik data, MATLAB Untuk melakukan interpolasi pada suatu titik-titik data, MATLAB menyediakan perintah
menyediakan perintah interp1,interp1, berikut berikut ini ini terdapat terdapat data-data data-data temperaturtemperatur dan
dan
» tempra = [5 8 9 15 25 29 31
» tempra = [5 8 9 15 25 29 31 30 22 25 27 24]; % temperatur30 22 25 27 24]; % temperatur » jam = 1:12; % jam 1 sampai 12
» jam = 1:12; % jam 1 sampai 12 » plot(jam, tempra, jam,
» plot(jam, tempra, jam, tempra,'+')tempra,'+')
Jika ingin mengetahui berapa temperatur pada jam 9,3? Maka dapat Jika ingin mengetahui berapa temperatur pada jam 9,3? Maka dapat dilakukan komputasi sebagai berikut:
dilakukan komputasi sebagai berikut:
» t=interp1(jam, tempra, 9.3)% perkiraan temperatur, jam 9.3 » t=interp1(jam, tempra, 9.3)% perkiraan temperatur, jam 9.3
untuk mengetahui temperatur pada jam 4,7 untuk mengetahui temperatur pada jam 4,7
» t=interp1(jam, tempra, 4.7)% perkiraan temperatur, jam 4.7 » t=interp1(jam, tempra, 4.7)% perkiraan temperatur, jam 4.7
Temperatur pada jam-jam : 3,2; 6,5; 7,1; 11,7
Temperatur pada jam-jam : 3,2; 6,5; 7,1; 11,7 diperoleh dengandiperoleh dengan Komputasi:
Komputasi: >> t
Cara interpolasi diatas dekenal dengan nama interpolasi linier Cara interpolasi diatas dekenal dengan nama interpolasi linier
Untuk memperoleh kurva penghubung data-data yang lebih halus, Untuk memperoleh kurva penghubung data-data yang lebih halus, dilakukan komputasi berikut
dilakukan komputasi berikut >> t =
>> t = interp1(jam, tempra, 9.3, 'spline')interp1(jam, tempra, 9.3, 'spline') >> t = interp1(jam, tempra, 4.7, 'spline') >> t = interp1(jam, tempra, 4.7, 'spline')
>> t = interp1(jam, tempra, [3.2 6.5 7.1 11.7], 'spline') >> t = interp1(jam, tempra, [3.2 6.5 7.1 11.7], 'spline')
Cara interpolasi diatas disebut
Cara interpolasi diatas disebut cubic splinescubic splines, atau disebut, atau disebut splinessplines sajasaja
Pemakaian interpolasi spline yang paling umum
Pemakaian interpolasi spline yang paling umum adalah untuk memperhalusadalah untuk memperhalus data. Berdasarkan data-data diatas dapat dilakukan interpolasi spline
data. Berdasarkan data-data diatas dapat dilakukan interpolasi spline untuk untuk mengevaluasi pada data pada interval yang lebih halus, contoh:
mengevaluasi pada data pada interval yang lebih halus, contoh:
» h = 1:0.1:12;
» h = 1:0.1:12; % estimasi temperatur tiap 1/10 jam% estimasi temperatur tiap 1/10 jam » t = interp1(jam, tempra, h, 'spline') ;
» t = interp1(jam, tempra, h, 'spline') ; »
» plot(jam, tempra,'--',jam,tempra,'yplot(jam, tempra,'--',jam,tempra,'y+',h,t)+',h,t) » title('Temperatur Kota
» title('Temperatur Kota Springflied')Springflied') » xlabel('Jam')
» xlabel('Jam') »
» ylabel('Temperatylabel('Temperatur')ur')
Jika kita memakai waktu pada hari, contoh dari jam 7:00 pagi sampai jam Jika kita memakai waktu pada hari, contoh dari jam 7:00 pagi sampai jam 6:00 petang, maka dapat dibuat variabel waktu dengan cara:
6:00 petang, maka dapat dibuat variabel waktu dengan cara: » jam = [7:12 1:6]
» jam = [7:12 1:6]
h.
h. IntIntererpolpolasi dasi dua diua dimenmensisi
Dibawah ini adalah temperatur sebuah pan (alat masak pizza) dengan Dibawah ini adalah temperatur sebuah pan (alat masak pizza) dengan sebaran suhu terbagi dalam grid 3 kali 5, untuk mengetahui sebaran sebaran suhu terbagi dalam grid 3 kali 5, untuk mengetahui sebaran temperatur pada pan
Buatlah file berikut dan simpan dalam
Buatlah file berikut dan simpan dalam t_dalam.m untuk menganalisat_dalam.m untuk menganalisa temperatur
temperatur pan pada setengpan pada setengah kedalamah kedalaman di sepanjanan di sepanjangg lebar pan.lebar pan.
Buatlah file berikut dan simpan dalam
Buatlah file berikut dan simpan dalam t_lebar.m untuk menganalisat_lebar.m untuk menganalisa temperatur pan pada setengah kedalaman di sepanjang lebar pan.
temperatur pan pada setengah kedalaman di sepanjang lebar pan.
% t_dalam.m % t_dalam.m
% menganalisa data uji % menganalisa data uji
% irisan pan pada setengah kedalaman % irisan pan pada setengah kedalaman lebar = 1:5; % lebar pan
lebar = 1:5; % lebar pan dalam = 1:3; % kedalaman pan dalam = 1:3; % kedalaman pan
tempra = [82,81,80,82,84;79,63,61,65,81;84,84,82,85,86]; tempra = [82,81,80,82,84;79,63,61,65,81;84,84,82,85,86]; li=1:0.2:5; % memilih resolusi lebar
li=1:0.2:5; % memilih resolusi lebar d=2; % pusat pan;
d=2; % pusat pan;
zl=interp2(lebar,dalam,tempra,li,d); % interpolasi linier zl=interp2(lebar,dalam,tempra,li,d); % interpolasi linier
zc=interp2(lebar,dalam,tempra,li,d,'cubic'); % interpolasi cubic zc=interp2(lebar,dalam,tempra,li,d,'cubic'); % interpolasi cubic plot(li, zl, '--',li,zc) % plot linier dan cubic
plot(li, zl, '--',li,zc) % plot linier dan cubic xlabel('Lebar Pan')
xlabel('Lebar Pan')
ylabel('Derajad Celcius') ylabel('Derajad Celcius')
title('Temperatur Pan di Kedalaman = 2') title('Temperatur Pan di Kedalaman = 2')
Buatlah file berikut dan simpan dalam
Buatlah file berikut dan simpan dalam s_pan.m untuk melihat temperaturs_pan.m untuk melihat temperatur pan keseluruhan
pan keseluruhan
3.
3. TUGTUGAS AS LALABORBORATATORIUORIUMM
Tuliskan script file dari a sampai e dibawah ini pada kertas folio bergaris dan Tuliskan script file dari a sampai e dibawah ini pada kertas folio bergaris dan kumpulkan sebelum melakukan praktikum. Buatlah 1 copy untuk praktikum kumpulkan sebelum melakukan praktikum. Buatlah 1 copy untuk praktikum (melakukan komputasi di LAB):
(melakukan komputasi di LAB):
a.
a. Dua sifaDua sifat bahan dat bahan dari gas karbri gas karbon monokon monoksida dibsida diberikaerikan pada tabn pada tabel berikuel berikut init ini
T T BBeettaa AAllpphhaa 300 300 400 400 500 500 600 600 3.33e3 3.33e3 2.50e3 2.50e3 2.00e3 2.00e3 1.67e3 1.67e3 0.2128e4 0.2128e4 0.3605e4 0.3605e4 0.5324e4 0.5324e4 0.7190e4 0.7190e4
T temperatur dalam Kelvin, Beta adalah Koefisien ekspansi thermal dalam T temperatur dalam Kelvin, Beta adalah Koefisien ekspansi thermal dalam 1/Kelvin dan Alpha adalah diffusifitas thermal dalam (m
1/Kelvin dan Alpha adalah diffusifitas thermal dalam (m22 /s). Tulislah sebua /s). Tulislah sebuahh script untuk mencari Beta dan Alpha pada T=321,440 dan 571.
script untuk mencari Beta dan Alpha pada T=321,440 dan 571.
% t_lebar.m % t_lebar.m
% Menganalisa data uji . % Menganalisa data uji .
% Irisan pan pada setengah lebar dan % Irisan pan pada setengah lebar dan % melihat pada sepanjang kedalaman % melihat pada sepanjang kedalaman lebar = 1:5; % lebar pan
lebar = 1:5; % lebar pan dalam = 1:3; %
dalam = 1:3; % kedalaman pankedalaman pan
tempra = [82,81,80,82,84;79,63,61,65,81;84,84,82,85,86]; tempra = [82,81,80,82,84;79,63,61,65,81;84,84,82,85,86]; di=1:0.2:3; % memilih resolusi kedalaman
di=1:0.2:3; % memilih resolusi kedalaman l=3; % pusat pan;
l=3; % pusat pan;
zl=interp2(lebar,dalam,tempra,l,di); % interpolasi linier zl=interp2(lebar,dalam,tempra,l,di); % interpolasi linier
zc=interp2(lebar,dalam,tempra,l,di,'cubic'); % interpolasi cubic zc=interp2(lebar,dalam,tempra,l,di,'cubic'); % interpolasi cubic plot(di, zl, '--',di,zc) % plot linier dan cubic
plot(di, zl, '--',di,zc) % plot linier dan cubic xlabel('Kedalaman Pan')
xlabel('Kedalaman Pan') ylabel('Derajad Celcius') ylabel('Derajad Celcius')
title('Temperatur pada lebar = 3') title('Temperatur pada lebar = 3')
b.
b. SeSebubuah rah relelasasi fui fungngsisi y=y(x)y=y(x) disajikan dalam tabel berikutdisajikan dalam tabel berikut
xx yy 0 0 0.25 0.25 0.50 0.50 0.75 0.75 1.00 1.00 0.9162 0.9162 0.8109 0.8109 0.6931 0.6931 0.5596 0.5596 0.4055 0.4055
Tulis sebuah script file untuk mencari nilai
Tulis sebuah script file untuk mencari nilai xx yang memenuhiyang memenuhiy = 0.9, 0.7,y = 0.9, 0.7, 0.6
0.6 dandan 0.5.0.5.
c.
c. SatSatu seu set emt empat pat tittitik-ik-tittitik dik dataata x
x = = [1.1, [1.1, 2.3, 2.3, 3.9, 3.9, 5.1]5.1] y
y = = [3.887, [3.887, 4.276, 4.276, 4.651, 4.651, 2.117]2.117]
Tulis sebuah script untuk mencari koefisien-koefisien polinom interpolasi Tulis sebuah script untuk mencari koefisien-koefisien polinom interpolasi yang
yang cocok cocok dengan dengan data. data. Kemudian Kemudian tentukan tentukan nilainilai yy padapada x=2.101x=2.101 dandan 4.234.
4.234. BuaBuatlatlahh ploplot pot polinlinom yom yang dang dipiperoeroleh pleh pada tada titiitik-tik-titik dtik data yata yangang tersedia.
tersedia.
d.
d. UbahUbahlah polylah polynom berinom berikut deret pankut deret pangkat mengkat menggunggunakan poakan polyfitlyfit::
)) 10 10 5 5 )( )( 2 2 .. 7 7 5 5 )( )( 1 1 .. 6 6 5 5 )( )( 4 4 5 5 )( )( 5 5 .. 2 2 5 5 )( )( 1 1 5 5 (( )) 10 10 )( )( 2 2 .. 7 7 )( )( 1 1 .. 6 6 )( )( 4 4 )( )( 5 5 .. 2 2 )( )( 1 1 (( )) ((
x x x x x x x x x x xx x x vv e.e. TulisTulislah lah sebusebuah ah progprogram ram untuk untuk mengmengevaluevaluasi asi interpinterpolasolasi Li Lagraagrange nge untuk untuk yy = x cos(x) dalam
= x cos(x) dalam 00
xx
2 dengan 6 titik grid berjarak sama dengan2 dengan 6 titik grid berjarak sama dengan h h == 0.44.
4. TUTUGAGAS S MAMANDNDIRIRII
Tabel dibawah ini menyajikan data phase air laut pada muka bumi, X = garis Tabel dibawah ini menyajikan data phase air laut pada muka bumi, X = garis lintang, Y
lintang, Y = garis bu= garis bujur, dan P =jur, dan P =phase air semphase air semua dalam saua dalam satuantuan derajad. Tuliderajad. Tulislahslah sebuah file untuk membuat Plot 3 dimensi dan contour phase air data berikut sebuah file untuk membuat Plot 3 dimensi dan contour phase air data berikut dengan memanfaatkan perintah interpolasi 2
dengan memanfaatkan perintah interpolasi 2 dimensi.dimensi.
X X Y Y PP 26.0000 119.500 352.87463126322 26.0000 119.500 352.87463126322 26.0000 120.000 85.342163854390 26.0000 120.000 85.342163854390 26.0000 120.500 80.489212407950 26.0000 120.500 80.489212407950 26.0000 121.000 73.377370139292 26.0000 121.000 73.377370139292 26.0000 121.500 55.761503163701 26.0000 121.500 55.761503163701 26.0000 122.000 19.666336954414 26.0000 122.000 19.666336954414 26.0000 122.500 350.48685956113 26.0000 122.500 350.48685956113 26.0000 123.000 334.62278496753 26.0000 123.000 334.62278496753 26.0000 123.500 325.14340492545 26.0000 123.500 325.14340492545 26.0000 124.000 317.93898063464 26.0000 124.000 317.93898063464 26.0000 124.500 312.34154311331 26.0000 124.500 312.34154311331 26.0000 125.000 309.55553073664 26.0000 125.000 309.55553073664 26.0000 125.500 307.79123718835 26.0000 125.500 307.79123718835
MODUL 4 MODUL 4
PLOT 2-DIMENSI DAN 3 DIMENSI PLOT 2-DIMENSI DAN 3 DIMENSI
1.
1. PEPENNGAGANNTTAAR R
Pada praktikum sebelumnya, telah digunakan perintah plot untuk membuat Pada praktikum sebelumnya, telah digunakan perintah plot untuk membuat grafik dua dimensi, yaitu melukiskan dua buah array yang
grafik dua dimensi, yaitu melukiskan dua buah array yang ukurannya sama. Untuk ukurannya sama. Untuk menggambar grafik tiga dimensi, MATLAB menyediakan beberapa perintah untuk menggambar grafik tiga dimensi, MATLAB menyediakan beberapa perintah untuk membuat grafik dua dimensi. Untuk membuat grafik tiga dimensi, diperlukan tiga membuat grafik dua dimensi. Untuk membuat grafik tiga dimensi, diperlukan tiga buah array dua dimensi atau
buah array dua dimensi atau matriks.matriks.
Perintah-perintah tambahan dalam grafik 2 dan 3 dimensi, yaitu perintah Perintah-perintah tambahan dalam grafik 2 dan 3 dimensi, yaitu perintah untuk membuat beberapa gambar (sub-sub gambar) dalam satu jendela gambar, untuk membuat beberapa gambar (sub-sub gambar) dalam satu jendela gambar, gambar seperti sering diperlukan jika kita ingin membandikan dua buah grafik, gambar seperti sering diperlukan jika kita ingin membandikan dua buah grafik, misalnya grafik fungsi sinus dengan grafik fungsi cosinus. Untuk mengetahui atau misalnya grafik fungsi sinus dengan grafik fungsi cosinus. Untuk mengetahui atau mengenali suatu plot fungsi dalam satu jendela gambar yang terdiri
mengenali suatu plot fungsi dalam satu jendela gambar yang terdiri beberapa plotbeberapa plot fungsi, maka diperlukan teks untuk memberi nama, untuk ini MATLAB fungsi, maka diperlukan teks untuk memberi nama, untuk ini MATLAB menyediakan.
menyediakan.
2
2.. TTUUJJUUAANN a.
a. MenMengengenal al ploplot dt dua ua dimdimensensii b.
b. MenMengengenal pal plot lot tigtiga da dimeimensinsi
3.
3. KOKOMMPUPUTTAASISI a.
a. PlPlot ot dudua da dimimenensisi
Tulis dan simpan statemen-statemen berikut pada MATLAB editor dengan Tulis dan simpan statemen-statemen berikut pada MATLAB editor dengan nama file
nama file coba_31.m. K coba_31.m. K emudian ekskusi pada MATLAB prompt untuk emudian ekskusi pada MATLAB prompt untuk melihat hasilnya, jika penulias benar maka akan ditampilkan 4
melihat hasilnya, jika penulias benar maka akan ditampilkan 4 buah grafik buah grafik dalam sebuah jendela gambar:
% coba_31.m % coba_31.m clf clf x = linspace(0, 2*pi, 50); x = linspace(0, 2*pi, 50); y = sin(x); y = sin(x); z = cos(x); z = cos(x); a = 2*sin(x).*cos(x); a = 2*sin(x).*cos(x); b = b = sin(x)./cos(x)+epssin(x)./cos(x)+eps;; subplot(2, 2, 1) subplot(2, 2, 1) plot(x,y),
plot(x,y), axis([0 axis([0 2*pi2*pi -1 1]), -1 1]), title('sin(x)')title('sin(x)') subplot(2, 2, 2)
subplot(2, 2, 2) plot(x,z),
plot(x,z), axis([0 2*paxis([0 2*pii -1 1]), -1 1]), title('cos(x)')title('cos(x)') subplot(2, 2, 3)
subplot(2, 2, 3) plot(x,a),
plot(x,a), axis([0 2*paxis([0 2*pii -1 1]), -1 1]), title('2sin(x)cos(x)')title('2sin(x)cos(x)') subplot(2, 2, 4)
subplot(2, 2, 4) plot(x,b),
plot(x,b), axis([0 2*piaxis([0 2*pi -30 30]), -30 30]), title('sin(x)/costitle('sin(x)/cos(x)')(x)')
Tulislah dan simpan statemen-statemen pada kotak berikut dalam file Tulislah dan simpan statemen-statemen pada kotak berikut dalam file coba_32.m
coba_32.m kemudian ekskusikemudian ekskusi coba_32coba_32 untuk melihat hasilnya.untuk melihat hasilnya.
File berikut memanfaatkan operator relasi untuk mengubah nilai variabel. File berikut memanfaatkan operator relasi untuk mengubah nilai variabel.
% coba_32.m % coba_32.m
x = linspace(0, 10, 100); %
x = linspace(0, 10, 100); % membuat datamembuat data y
y = = sin(x); sin(x); % % menghitung menghitung sinussinus
z = (y>=0).*y; % mengatur nilai-nilai negatif sinus menjadi nol z = (y>=0).*y; % mengatur nilai-nilai negatif sinus menjadi nol z = z + 0.5*(y<0); %
z = z + 0.5*(y<0); % negatif sin ditambah 0.5negatif sin ditambah 0.5
z = (x<=8).*z; % mengatur nilai lama x=8 menjadi nol z = (x<=8).*z; % mengatur nilai lama x=8 menjadi nol plot(x, z); plot(x, z); xlabel('x'), ylabel('z=f(x)') xlabel('x'), ylabel('z=f(x)') title('Isyarat Tak-kontinyu') title('Isyarat Tak-kontinyu')
b.
b. PlPlot tot tigiga dia dimemensnsii
Pada perkenalakan perintah
Pada perkenalakan perintah mesh,mesh, dimana MATLAB mendefinisikan sebuahdimana MATLAB mendefinisikan sebuah permukaan jaring (
permukaan jaring (mesh surfacemesh surface) dengan koordinat z dari ) dengan koordinat z dari titik-titik diatastitik-titik diatas kisi atau
kisi atau gridgrid persegi panjang dalam bidang x-y.persegi panjang dalam bidang x-y.
Kerjakan perintah berikut pada MATLAB prompt: Kerjakan perintah berikut pada MATLAB prompt: » x=-7.5:.5:7.5; » x=-7.5:.5:7.5; » y=x; » y=x; » [X,Y]=meshgrid(x,y); » [X,Y]=meshgrid(x,y); » R=sqrt(X.^2 + Y.^2)+eps; » R=sqrt(X.^2 + Y.^2)+eps; » Z=sin(R)./R; » Z=sin(R)./R; » mesh(X,Y,Z) » mesh(X,Y,Z)
Tulis dan simpan statemen-statemen berikut pada MATLAB editor dengan Tulis dan simpan statemen-statemen berikut pada MATLAB editor dengan nama file
nama file coba_33.m. K coba_33.m. K emudian ekskusi pada MATLAB prompt untuk emudian ekskusi pada MATLAB prompt untuk melihat hasilnya, jika penulias benar maka akan ditampilkan 4
melihat hasilnya, jika penulias benar maka akan ditampilkan 4 buah grafik buah grafik dalam sebuah jendela gambar:
dalam sebuah jendela gambar: % coba_33.m % coba_33.m % % clf clf x = linspace(0, 2*pi, 50); x = linspace(0, 2*pi, 50); y = sin(x); y = sin(x); z = cos(x); z = cos(x); a = 2*sin(x).*cos(x); a = 2*sin(x).*cos(x); b = b = sin(x)./cos(x)+eps;sin(x)./cos(x)+eps; subplot(2, 2, 1) subplot(2, 2, 1) plot(x,y),
plot(x,y), axis([0 axis([0 2*pi2*pi -1 1]), -1 1]), title('sin(x)')title('sin(x)') subplot(2, 2, 2)
subplot(2, 2, 2) plot(x,z),
plot(x,z), axis([0 2*paxis([0 2*pii -1 1]), -1 1]), title('cos(x)')title('cos(x)') subplot(2, 2, 3)
subplot(2, 2, 3) plot(x,a),
plot(x,a), axis([0 2*paxis([0 2*pii -1 1]), -1 1]), title('2sin(x)cos(x)')title('2sin(x)cos(x)') subplot(2, 2, 4)
subplot(2, 2, 4) plot(x,b),
plot(x,b), axis([0 2*piaxis([0 2*pi -30 30]), -30 30]), title('sin(x)/cos(title('sin(x)/cos(x)')x)')
Tulislah dan simpan statemen-statemen pada kotak berikut dalam file Tulislah dan simpan statemen-statemen pada kotak berikut dalam file coba_32.m
File berikut memanfaatkan operator relasi untuk mengubah nilai variabel. File berikut memanfaatkan operator relasi untuk mengubah nilai variabel.
% coba_32.m % coba_32.m
x = linspace(0, 10, 100); %
x = linspace(0, 10, 100); % membuat datamembuat data y
y = = sin(x); sin(x); % % menghitung menghitung sinussinus
z = (y>=0).*y; % mengatur nilai-nilai negatif sinus menjadi nol z = (y>=0).*y; % mengatur nilai-nilai negatif sinus menjadi nol z = z + 0.5*(y<0); %
z = z + 0.5*(y<0); % negatif sin ditambah 0.5negatif sin ditambah 0.5
z = (x<=8).*z; % mengatur nilai lama x=8 menjadi nol z = (x<=8).*z; % mengatur nilai lama x=8 menjadi nol plot(x, z); plot(x, z); xlabel('x'), ylabel('z=f(x)') xlabel('x'), ylabel('z=f(x)') title('Isyarat Tak-kontinyu') title('Isyarat Tak-kontinyu') 4.
4. TUGTUGAS AS LALABORBORATATORIUORIUMM
5.