Thursday, May 25, 2017

Buku Belajar Pemrogaman Matlab - Control Random Generator


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di   http://softscients.com/2020/03/29/buku-belajar-pemrogaman-matlab-seed-random-generator/


Jika kamu menggunakan Matlab untuk melakukan komputasi tidak terlepas kita membutuhkan bilangan random, tapi ini menjadi masalah tersendiri jika terdapat hasil yang berbeda-beda setiap kali melakukan proses komputasi.  Biasanya ini terjadi ketika kamu menggunakan algoritma machine learning yang melibatkan bilangan random sebagai initial valuenya. Bagaimana kita harus membuat menjadi tetap? Saya gunakan contoh kmeans clustering berikut

clc;clear all;close all;
load fisheriris
X = meas(:,3:4);
 
figure;
plot(X(:,1),X(:,2),'k*','MarkerSize',5);
title 'Fisher''s Iris Data';
xlabel 'Petal Lengths (cm)';
ylabel 'Petal Widths (cm)';
 
%kita akan menggunakan kmeans untuk melakukan
%clustering
[idx,C] = kmeans(X,3);
hold on
for i =1:3
    text(C(i,1),C(i,2),num2str(i),'FontSize',30,'Color','B')
end 

Coba kamu perhatikan urutan angka berikut


Pasti akan menghasilkan urutan yang berbeda-beda, oleh karena itu kita harus menetapkan terlebih dahulu seed random generator yaitu dengan function rand(‘seed’,0) yang artinya bilangan random akan menggunakan seed/benih 0 sebagai nilai awalnya, kamu bebas menggunakan 0 – 9999.

Coba kamu perbaiki codenya menjadi berikut

clc;clear all;close all;
load fisheriris
X = meas(:,3:4);
 
figure;
plot(X(:,1),X(:,2),'k*','MarkerSize',5);
title 'Fisher''s Iris Data';
xlabel 'Petal Lengths (cm)';
ylabel 'Petal Widths (cm)';
 
%kita akan menggunakan kmeans untuk melakukan
%clustering
rand('seed',0) %seed nya diisi 0
[idx,C] = kmeans(X,3);
hold on
for i =1:3
    text(C(i,1),C(i,2),num2str(i),'FontSize',30,'Color','B')
end 
Maka hasil urutannya akan senantiasa sama.

http://www.softscients.web.id/2015/11/pembangkitan-bilangan-random-dengan.html

No comments:

Post a Comment