gw bikin matriks kaya gini (pake MATLAB 2009a)
nodes = zeros(20,20,6);for i = 1:2:20for j = 1:3:10n(i,j) = nodes(i,j);n(i,j) = 1;endend
trus sekarang gw pengen ngasih keterangan tambahan jumlah partikel di tiap isi matriks yang bernilai 1.
jumlahpartikel = nonzeros(n);for k = 1:15jumlahpartikel(k) = 3;for l = 16:30jumlahpartikel(l) = 2;for o = 31:40jumlahpartikel(o) = 1;endendend
nah, sekarang gw masukin nilai2 jumlah partikel itu ke dalam matriks awal
k = 1;for i = 1:2:20for j = 1:3:10npart(i,j) = jumlahpartikel(k);k = k+1;endend
posisi jumlah partikel di dalem matriksnya masih rapi. sekarang gw mau ngacak jumlah partikel di matriks tersebut (cuma ngacak yang bernilai tidak nol).
randomjumlahpartikel = zeros(40,1);for z = 1:40y = randperm(z);randomjumlahpartikel = jumlahpartikel(y);end
trus keacakan distribusi partikel ini gw masukin lagi ke matriks, dengan nama matriks density.
k = 1;for i = 1:2:20for j = 1:3:10density(i,j) = randomjumlahpartikel(k);k = k+1;endend
kita liat di matriks n nilainya antara 1 dan 0. trus setelah dimasukin nilai jumlah partikel di tiap isi matriks yang bernilai 1, hasilnya ditunjukin di matriks npart. abis itu si jumlah partikel (yang tidak nol) di matriks npart diacak dan hasilnya adalah matriks density.
untuk matriks 20x10 di atas, prosesnya cepet banget. begitu gw run ga nyampe 1 detik kemudian hasilnya udah keluar.
ternyata masalah muncul saat gw melakukan proses serupa untuk matriks 640x480. kemaren sore (sekitar jam17.30) gw run, dan siang ini (sekitar jam14.20) ternyata proses jumlahpartikel baru jalan 1/8836-nya. gila.
pertanyaannya: gimana cara mengefisienkan proses tersebut?
3 komentar:
ternyata masalah utk matriks besar (seperti 640x480) teratasi setelah gw ngubah
jumlahpartikel = nonzeros(n);
for k = 1:15
jumlahpartikel(k) = 3;
for l = 16:30
jumlahpartikel(l) = 2;
for o = 31:40
jumlahpartikel(o) = 1;
end
end
end
jadi begini:
jumlahpartikel = nonzeros(n);
for k = 1:15
jumlahpartikel(k) = 3;
end
for l = 16:30
jumlahpartikel(l) = 2;
end
for o = 31:40
jumlahpartikel(o) = 1;
end
hehehe. maap ga penting.
hihi akhirrnyyaaaa alhamd.. makanya jangan panik duluan, padahal selesai dalam bbrp menit juga kan.. ato mungkin karena ada yg nemenin ya :P
iya kali ya
Posting Komentar