Berikut Video yang telah saya buat :
Showing posts with label Matlab-Simulink. Show all posts
Showing posts with label Matlab-Simulink. Show all posts
Tuesday, April 21, 2015
Berikut Video yang telah saya buat :
Tuesday, March 3, 2015
How to create circle trajectory in matlab
Hal ini merupakan permasalahan sederhana tapi bagaimana cara menerapkanya di dalam sebuah script ?.contoh fungsi lingkaran adalah sebagai referensi pergerakan suatu sistem, contoh pesawat UAV, Kapal selam (AUV), Robot Manipulator dan banyak lainya. Berikut langkah-langkah untuk membuat referensi lingkaran. yang perlu anda ingat konsep membuat lingkaran pada bidang X-Y adalah lingkaran dibentuk dari Sinus pada satu sumbu dan Cosinus pada sumbu lainya.
1. Buka matlab simulink
2. Buka Library Browser
3. Pilih User defined Function dan pilih Matlab Function. -> add to Untitled
4. pada Source, pilih clock, -> add to Untitled
5. pada Sink, pilih Scope, -> add to Untitled
5. pada Sink, pilih XY-Graph, -> add to Untitled
6. pada matlab function ketik
function [x,y] = Circle(t)Gain digunakan untuk memperbesar radius lingkaran, frequensi untuk kecepatan trajectory dalam 1 putaran.
freq = 0.1;
Gain = 10;
x = sin(freq*t)*Gain;
y = cos(freq*t)*Gain;
6. kemudian hubungkan clock dengan input t dan scope dan XY-Graph dengan output pada blok matlab function seperti gambar berikut :
7. Setelah itu Run, maka pada X-Y Graph akan terlihat seperti hasil berikut :
Sunday, March 1, 2015
Curve fitting ialah proses pencocokan pola data dalam bentuk grafik kedalam sebuah persamaan. pengertian sederhananya yaitu mengubah grafik data menjadi sebuah persamaan yang dapat mewakili grafik tersebut. hal ini dapat dilakukan dengan mudah di matlab. berikut tutorialnya :
1. buka matlab
2. siapkan data grafik anda. jika tidak punya sebagai contoh disini kita buat data grafik dengan persamaan berikut ini.
ketik di command windows matlab
x=-10:0.1:10;
y = x^.2 + 10;
pastikan pada jendela workspace terdapat data x dan y.
3. ketik cftool untuk menggunakan matlab curve fitting, kemudian akan muncul dialog seperti gambar berikut ini:
4. kemudian pilih x data dengan data 'x' dan y data dengan data 'y' yang telah kita hasilkan dengan mengetik persamaan diatas tadi. kemudian pada grafik akan secara otomatis menampilkan data dalam bentuk grafik seperti gambar berikut ini.
5. dari gambar diatas dapat kita lihat terdapat dua garis, yang warna hitam adalah data yang kita punya, dan yang biru adalah data perkiraan dengan rumus polynomial. dari grafik tersebut dapat kita lihat tidak ada kecocokan sama sekali. kemudian kita cari dengan pilihan rumus atau degree yang tersedia pada kolom polynomial
6. pertama mari kita coba dengan meningkatkan degree dari polynomial menjadi dua . Alhasil seperti berikut :
dengan nilai p1, p2, p3 seperti tertulis diatas, dengan mengabaikan nilai yang sangat kecil yaitu p2. maka akan kita dapatkan persamaan baru diatas menjadi
f(x) = a*exp(b*x) + c*exp(d*x)
Read More
1. buka matlab
2. siapkan data grafik anda. jika tidak punya sebagai contoh disini kita buat data grafik dengan persamaan berikut ini.
ketik di command windows matlab
x=-10:0.1:10;
y = x^.2 + 10;
pastikan pada jendela workspace terdapat data x dan y.
3. ketik cftool untuk menggunakan matlab curve fitting, kemudian akan muncul dialog seperti gambar berikut ini:
5. dari gambar diatas dapat kita lihat terdapat dua garis, yang warna hitam adalah data yang kita punya, dan yang biru adalah data perkiraan dengan rumus polynomial. dari grafik tersebut dapat kita lihat tidak ada kecocokan sama sekali. kemudian kita cari dengan pilihan rumus atau degree yang tersedia pada kolom polynomial
6. pertama mari kita coba dengan meningkatkan degree dari polynomial menjadi dua . Alhasil seperti berikut :
dari gambar diatas terlihat garis biru menyerupai garis warna hitam, sehingga hal ini dapat dikatakan persamaan ini sudah sesuai untuk mewakili persamaan y = x^.2 + 10 . persamaan baru yang kita peroleh dapat kita lihat pada sisi sebelah kiri grafik. seperti berikut ini :
dari gambar diatas dapat dilihat persamaan baru yang mewakili grafik, yaitu
y = p1*x^2 + p2*x +p3
dengan nilai p1, p2, p3 seperti tertulis diatas, dengan mengabaikan nilai yang sangat kecil yaitu p2. maka akan kita dapatkan persamaan baru diatas menjadi
y = x^2 + 10 .. sehingga curve fitting mampu mengenali persamaan hingga 99%.
untuk mewakili data diatas , tidak terpaku pada persamaan polynomial, anda juga bisa mencoba dengan persamaan exponential atau gaussian degree 2, namun untuk yang exponential kurang bagus hasilnya dibanding dengan gaussian degree 2.
untuk exponential persamaan yang mewakili adalah :
f(x) = a*exp(b*x) + c*exp(d*x)
Coefficients (with 95% confidence bounds):
a = 7.948 (7.274, 8.622)
b = -0.2705 (-0.2804, -0.2606)
c = 7.948 (7.275, 8.622)
d = 0.2705 (0.2606, 0.2804)
a = 7.948 (7.274, 8.622)
b = -0.2705 (-0.2804, -0.2606)
c = 7.948 (7.275, 8.622)
d = 0.2705 (0.2606, 0.2804)
dan untuk gaussian persamaan nya adalah :
f(x) = a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2)
Coefficients (with 95% confidence bounds):
a1 = 173.8 (168.3, 179.4)
b1 = 15.77 (15.5, 16.05)
c1 = 8.442 (8.306, 8.579)
a2 = 173.8 (168.3, 179.4)
b2 = -15.77 (-16.05, -15.5)
c2 = 8.442 (8.306, 8.579)
Coefficients (with 95% confidence bounds):
a1 = 173.8 (168.3, 179.4)
b1 = 15.77 (15.5, 16.05)
c1 = 8.442 (8.306, 8.579)
a2 = 173.8 (168.3, 179.4)
b2 = -15.77 (-16.05, -15.5)
c2 = 8.442 (8.306, 8.579)
Selamat mencoba dengan data anda.
Semoga tulisan ini membantu, :)
Tuesday, October 21, 2014
Fuzzy Logic merupakan salah satu metode kontrol yang banyak dipakai oleh mahasiswa dalam menyelesaikan tugas akhirnya karena mudahnya menerapkanya dalam suatu Plant. :D
Logika Fuzzy adalah peningkatan dari logika Boolean yang berhadapan dengan konsep kebenaran sebagian. Saat logika klasik menyatakan bahwa segala hal dapat diekspresikan dalam istilah biner (0 atau 1, hitam atau putih, ya atau tidak), logika fuzzy menggantikan kebenaran boolean dengan tingkat kebenaran.(wikipedia).
Fuzzy Logic memiliki beberapa tahapan yaitu :
1. Normalisasi dengan Gain Error dan Delta error
2. Fuzzifikasi
3. Inference Fuzzy
4. Defuzifikasi
5. Gain kontrol u
1. Gain Error dan Delta Error
Gain error merupakan gain untuk error dimana error = ref - aktual_output
sedangkan gain delta_error untuk gain perubahan error de= e(k) - e(k-1)
2. Fuzzifikasi
merupakan proses mengubah nilai error dan delta error menjadi nilai crisp mf, ada beberapa jenis fuzzifikasi yaitu :
- Segitiga
- Gaussian
- Generalized Bell
- Sigmoid
- Z
3. Inference Fuzzy
Inference Fuzzy adalah sebuah proses formulasi pemetaan masukan terhadap keluaran dengan menggunakan logika fuzzy dan aturan If Then. Dalam tugas ini digunakan rule yang salah satu rulenya adalah
4. Defuzzifikasi
Merupakan proses mengubah crisp menjadi nilai-nilai sinyal kontrol yang dapat digunakan untuk mengontrol Plant.
5. Gain kontrol u
ini optional, jika diperlukan maka gunakanlah ini untuk mengalikan output defuzifikasi agar sesuai dengan kerja plant.
Silakan Download di 4shared berikut ini (Contoh ini menggunakan Matlab 2011)
Tuesday, October 14, 2014
Matlab merupakan salah satu software yang sangat cocok buat penelitian dalam bidang engineering matematika dan fisika. Salah satu fungsi matlab yaitu dapat digunakan sebagai perangkat simulasi. untuk melihat prilaku suatu model, matlab dapat menampilkan model secara 3D. dalam kesempatan ini saya ingin berbagi cara membuat animasi 3D dimatlab yang dapat digunakan sebagai tampilan akhir dari simulink.
Dalam tutorial ini matlab yang digunakan adalah matlab 2011.
1. Buka Matlab Simulink.
2. Kemudian Akan muncul Simulink Library Browser
3. Pada kolom sebelah kiri Klik Simulink 3D Animation
4. Pada kolom sebelah kanan Klik kanan VR Sink lalu add to new model
5. Setelah tampil halaman baru dismulink beserta VR sink . double klik pada VR Sink, kemudian akan muncul halaman seperti berikut :
Download Model 3D matlab Simulink UAV
8. Maka akan muncul tampilan seperti berikut di kolom VRML tree
centang rotation dan translation, agar model dapat berputar dan berpindah posisi.
9. Klik Apply dan OK.
10. Saat ini Block VR Sink anda memiliki dua buah input seperti gambar berikut :
11. Untuk mengendalikan rotasi model gunakan 4 chanel mux(multiplexer) sebagai input dan untuk mengendalikan translation model gunakan 3 buah changel mux (menyatakan X,Y,Z) sebagai input seperti gambar berikut :
12. Jika sudah klik menu Simulation -> Start lalu klik 2x pada blok VR Sink. maka akan muncul gambar model seperti berikut ini. jika model tidak muncul. putar-putar area simulasi (3D World) dengan mouse sampai didapatkan model. atau menggunakan pengaturan kamera view agar selalu tampil pada model.
Demikianlah tutorial dasar dalam membuat animasi 3D di Matlab Simulink. Silahkan dikembangkan lebih lanjut. Semoga bermanfaat :)
Read More
Dalam tutorial ini matlab yang digunakan adalah matlab 2011.
1. Buka Matlab Simulink.
2. Kemudian Akan muncul Simulink Library Browser
3. Pada kolom sebelah kiri Klik Simulink 3D Animation
4. Pada kolom sebelah kanan Klik kanan VR Sink lalu add to new model
5. Setelah tampil halaman baru dismulink beserta VR sink . double klik pada VR Sink, kemudian akan muncul halaman seperti berikut :
6. Anda dapat membuat model anda sendiri atau mencari diinternet dengan contoh kata kunci "vrml plane " atau lainya. karena pada matlab digunakan model vrml dengan file berektensikan *.wrl
7. Untuk membuat model baru sendiri, klik new . jika ingin menggunakan model dari internet klik browse lalu pilih file anda.dalam tutorial ini saya memberikan contoh pesawat jet. Sebagai contoh disini saya uploadkan file wrl pesawat jet.(saya juga lupa dulu sumbernya dari mana :D) berikut LinknyaDownload Model 3D matlab Simulink UAV
8. Maka akan muncul tampilan seperti berikut di kolom VRML tree
centang rotation dan translation, agar model dapat berputar dan berpindah posisi.
9. Klik Apply dan OK.
10. Saat ini Block VR Sink anda memiliki dua buah input seperti gambar berikut :
11. Untuk mengendalikan rotasi model gunakan 4 chanel mux(multiplexer) sebagai input dan untuk mengendalikan translation model gunakan 3 buah changel mux (menyatakan X,Y,Z) sebagai input seperti gambar berikut :
12. Jika sudah klik menu Simulation -> Start lalu klik 2x pada blok VR Sink. maka akan muncul gambar model seperti berikut ini. jika model tidak muncul. putar-putar area simulasi (3D World) dengan mouse sampai didapatkan model. atau menggunakan pengaturan kamera view agar selalu tampil pada model.
Demikianlah tutorial dasar dalam membuat animasi 3D di Matlab Simulink. Silahkan dikembangkan lebih lanjut. Semoga bermanfaat :)
Sunday, April 27, 2014
Sebenarnya Ini adalah tugas Mata Kuliah kontrol adaptive tentang ARMA yaitu Auto Regresive Moving Average, metode ini digunakan untuk identifikasi suatu sistem.. objektif dari simulasi berikut ini adalah agar sistem adaptive dapat mengikuti plant linear. ga jauh beda dengan objektive JST. Oke langsung aja dicoba di Matlab..
dan Blok Simulinknyafunction Yo=P2SRO(inp)
global ym um arrYK arrUK arrTime Q status Teta startTime ZTeta YK ZData Teta_rata2;
% Penyelesaian Persamaan Simultan Parameter Total
ym = inp(1);
um = inp(2);
uTime = inp(3);
na = inp(4);
nb = inp(5);
Horizon = inp(6);
Yo=zeros(1,6);
%inisialisasi saat t=0
if uTime==0
arrYK=[];
arrUK=[];
arrTime=[];
arrYK=[arrYK,ym];
arrUK=[arrUK,um];
arrTime=[arrTime,uTime];
status=0;
startTime=0;
Teta_rata2=zeros(6,5);
elseif uTime<=Horizon/10
arrYK=[arrYK,ym];
arrUK=[arrUK,um];
arrTime=[arrTime,uTime];
elseif uTime>(Horizon/10)
Q=[];
ZData =Horizon;
for i=1:na
YK=arrYK((na-i+1):ZData-(i));
Q=[Q,YK'];
end
for i=1:na
UK=arrUK((na-i+1):ZData-(i));
Q=[Q,UK'];
end
YK=arrYK((na+1):ZData);
Teta=pinv(Q'*Q)*Q'*YK'; %Dapatkan Nilai Teta
Teta_rata2=[Teta_rata2,Teta];
ZTeta=zeros(6,1);
for i=1:6
ZTeta = ZTeta + Teta_rata2(:,i);
end
rata_rata =ZTeta/6;
save('data','Teta','YK','Q');
Yo=rata_rata;
arrYK(:,[1])=[]; %Hapus data pertama arrYK dan UK
arrUK(:,[1])=[];
arrYK=[arrYK,ym]; %ganti dengan data baru
arrUK=[arrUK,um];
Teta_rata2(:,[1])=[];
save('dataTotal','arrYK','arrUK','Teta_rata2','Teta');
end
end
Hasil Grafik
Untuk File Lengkapnya Silakan Email : swadexi@gmail.com :)
tenang aja ga minta bayaran kok.. cuma lagi males upload aja
Saturday, November 30, 2013
Custom Fungsi merupakan fasilitas yang disediakan oleh beberapa bahasa pemrograman, dengan adanya fungsi maka kita akan lebih mudah dalam membuat suatu program, fungsi layaknya sebuah blok yang memiliki fungsi tersendiri. misalnya fungsi cariData() merupakan satu fungsi yang berfungsi untuk mencari data, biasanya terdiri dari lebih dari 1 baris.
Nah dalam matlab pun diperbolehkan membuat fungsi tersendiri, sedikit berbeda dengan bahasa pemrograman lainya fungsi pada matlab akan menyimpan file dengan nama fungsi tersebut. berikut adalah cara membuat fungsi dimatlab
function [output] = myFunct(variabel)
//listing fungsi
//misal
output = variabel+1;
end
jika anda menyimpan fungsit tersebut, secara otomatis matlab akan membuat filename dengan nama fungsi tersebut.dari contoh diatas otomatis matlab akan memberikan filename myFunct.m
untuk memanggilnya, arahkan active directory matlab ke folder dimana anda menyimpan fungsi anda, kemudian panggil dengan nama fungsi tersebut, dari contoh fungsi diatas maka :
>> myFunct(12)
ans = 13
Saturday, November 23, 2013
Disini saya akan menjelaskan tutorial tentang pembuatan blok pada simulink, simulink merupakan salah satu fiture yang disediakan oleh matlab dalam membuat diagram blok yang bukan sekedar untuk tampilan saja, tapi juga berfungsi sebagai suatu simulasi sistem.
1. Langkah pertama yaitu buka matlab dari start menu all programs-matlab
2. Buka simulink dengan cara klik icon seperti gambar dibawah ini
3. maka akan muncul jendela dialog library browser seperti gambar berikut
4. Klik File - New
5. maka akan muncul project atau lembar baru yang akan digunakan untuk membuat blok-blok simulink
untuk memulai simulink cukup sampai disini, pelajaran selanjutnya adalah " Belajar blok dasar simulink "
Read More
1. Langkah pertama yaitu buka matlab dari start menu all programs-matlab
2. Buka simulink dengan cara klik icon seperti gambar dibawah ini
3. maka akan muncul jendela dialog library browser seperti gambar berikut
4. Klik File - New
5. maka akan muncul project atau lembar baru yang akan digunakan untuk membuat blok-blok simulink
untuk memulai simulink cukup sampai disini, pelajaran selanjutnya adalah " Belajar blok dasar simulink "




















%2B(1).png)