Berikut ini saya bagikan power point sistem autonomus nonlinear. Silakan klik link berikut ini untuk mendownloadnya. Sistem autonomus nonlinear
Senin, 16 Mei 2016
Kamis, 07 April 2016
INTEGRAL NUMERIK KUADRATUR ADAPTIF DENGAN KAIDAH SIMPSON
Berikut ini merupakan makalah saya tentang integral numerik kuadratur adaptif dengan kaidah simpson, silakan download di kuadratur adaptif. Saran dan kritik silakan tulis di kolom komentar. Semoga bermanfaat.
Interpolasi Chebyshev
Berikut ini merupakan makalah saya tentang interpolasi chebyshev, silakan download di interpolasi chebyshev. Saran dan kritik silakan tulis di kolom komentar. Semoga bermanfaat.
SISTEM DINAMIK KONTINU LINEAR 1 DIMENSI DAN 2 DIMENSI
Berikut ini saya bagikan slide presentasi saya tentang Sistem Dinamik Kontinu Linear 1 Dimensi dan 2 Dimensi. Silakan download di Sistem Dinamik Kontinu. Untuk saran dan kritik silakan tulis di kolom komentar.
Kamis, 07 Januari 2016
Algoritma Genetika
Algoritma genetika
adalah teknik pencarian stokastik berdasarkan mekanisme dari seleksi alam dan natural
genetik. Proses algoritma ini meliputi seleksi, pairing, mating, crossover dan
mutasi.
Langkah-langkah
algoritma genetika adalah sebagai berikut:
- Bangkitkan secara random populasi dengan n kromosom.
- Hitung nilai fitness dari setiap kromosom dalam populasi.
- Buat populasi baru dengan melakukan proses berikut :
· Pilih dua induk kromosom dari
populasi berdasarkan nilai fitnessnya (semakin baik fitnessnya
semakin besar kesempatan untuk terpilih).
· Dengan probabilitas crossover
(pc), crossover-kan kedua induk untuk membentuk keturunan baru
(anak). Jika tidak terjadi crossover, keturunan sama dengan induk.
·
Dengan probabilitas mutasi ,
mutasikan keturunan baru pada setiap lokus (posisi di dalam kromosom).
·
Tempatkan keturunan baru ke
dalam populasi baru.
·
Evaluasi dan seleksi sehingga
didapatkan populasi baru sebanyak pop size awal.
4. Gunakan populasi yang baru ini untuk proses algoritma selanjutnya.
5. Jika kondisi pemberhentian dipenuhi, berhenti, pilih solusi yang paling
baik dalam populasi
sekarang. Jika tidak maka kembali ke langkah 2).
Source Code MATLAB Metode Beda Hingga
%======================================================
%Program
Berikut adalah modifikasi dari
%Program
Metode Beda Hingga pada modul Persamaan Differensial Numerik
%Original
Author: Prof. Dr. Agus Suryanto, M.Sc.
%======================================================
%Diketahui
Masalah Kondisi Batas
%X"(t)=2*t/(1+t^2)X'(t)-2/(1+t^2)X(t)+1
%X(0)=1.25;
X(1)=-0.95
%======================================================
clear all;clc;
h=input('masukkan
h=');
N=(1-0)/h;
A=zeros(N+1,N+1);
X=zeros(N+1,1);
salah=0;
t=0:h:1;
A(1,1)=1;
A(N+1,N+1)=1;
for
i=2:N;
p=1+t(i)^2;
m=h^2;
A(i,i-1)=1+(h*t(i)/p);%a(i)
A(i,i)=(2*m/p)-2; %b(i)
A(i,i+1)=1-h*t(i)/p; %c(i)
end
F=1.25; %nilai
awal
k=((1/m)+((t(i))/(h*p)));
l=((1/m)-((2*t(i))/p));
for
i=1:N-1
if
i==1
F=[F 1-k*1.25];
elseif
i==N-1
F=[F
1+l*0.95];
else
F=[F
1];
end
end
F=[F -0.95];
B=inv(A/h^2);
X=B*transpose(F);
%penyelesaian
eksak
for
i=1:N+1
y(i)=t(i)*(1/20-1/2*pi)-9/4*t(i)^2+5/4+2*t(i)*atan(t(i))+1/2*...
log(t(i)^2+1)*t(i)^2-1/2*log(t(i)^2+1);
end
for
i=1:N+1
eror(i)=abs(y(i)-X(i));
salah=salah+eror(i);
end
fprintf('____________________________________________________________\n');
fprintf('Iterasi Nilai t(i) Nilai X(i)\n');
fprintf('-----------------------------------------------------------\n');
for
i=1:N+1;
fprintf('%f %f %f\n ',i,t(i),X(i));
end
figure(1)
plot(t,X,'ro');
grid on;
hold on;
plot(t,y,'b*');Source Code MATLAB Algoritma Genetika
% Algoritma Genetika
Kontinyu
clear all;clc;
% Set semua parameter pada
bagian I, II, and III
%_______________________________________________________
% I Setup the GA
ff='testfunction'; % fungsi
objektif
npar=2; % jumlah variable
optimasi
varhi=10; varlo=0; % batas
variabel
%_______________________________________________________
% II Stopping criteria
maksiterasi=100; % jumlah
iterasi maksimum
mincost=-9999999; % cost
minimum
%_______________________________________________________
% III GA parameters
jumlahpop=10; % set
population size
mutationrate=.2; % set
mutation rate
selectionrate=0.5; % populasi
yang dipakai (kept)
Nt=npar; %
continuous parameter GA Nt=#variables
survive=floor(selectionrate*jumlahpop);
%
#population
% anggota populasi yang
survive
nmut=ceil((jumlahpop-1)*Nt*mutationrate);
%
total jumlah mutasi
M=ceil((jumlahpop-survive)/2); % jumlah
mating
%_______________________________________________________
% Membuat populasi awal
iga=0; %
generation counter initialized
par=(varhi-varlo)*rand(jumlahpop,npar)+varlo;
%
random
cost=feval(ff,par); % hitung
cost setiap populasi
[cost,ind]=sort(cost); % min cost
di element 1
par=par(ind,:); % sort
continuous
minc(1)=min(cost); % minc
terdiri dari min dari
meanc(1)=mean(cost); % meanc
terdiri dari rata-rata populasi
%_______________________________________________________
% iterasi terus-menerus
setiap generasi
while
iga<maksiterasi
iga=iga+1;
%_______________________________________________________
% Pair dan mate
M=ceil((jumlahpop-survive)/2); % jumlah
mating
prob=flipud([1:survive]'/sum([1:survive]));
%
weights
% chromosomes
odds=[0
cumsum(prob(1:survive))']; % probabilitas
mate1=rand(1,M); % mate #1
mate2=rand(1,M); % mate #2
% ma dan pa terdiri dari
kromosom yang akan disilangkan
ic=1;
while ic<=M
for id=2:survive+1
if mate1(ic)<=odds(id) &
mate1(ic)>odds(id-1)
ma(ic)=id-1;
end
if mate2(ic)<=odds(id) &
mate2(ic)>odds(id-1)
pa(ic)=id-1;
end
end
ic=ic+1;
end
%_______________________________________________________
ix=1:2:survive;
xp=ceil(rand(1,M)*Nt); % titik
crossover
r=rand(1,M); %
parameter pencampuran/mixing
for ic=1:M
xy=par(ma(ic),xp(ic))-par(pa(ic),xp(ic));
%
ma and pa
% mate
par(survive+ix(ic),:)=par(ma(ic),:);
%
offspring 1
par(survive+ix(ic)+1,:)=par(pa(ic),:);
%
offspring 2
par(survive+ix(ic),xp(ic))=par(ma(ic),xp(ic))-r(ic).*xy;
% 1st
par(survive+ix(ic)+1,xp(ic))=par(pa(ic),xp(ic))+r(ic).*xy;
% 2nd
if xp(ic)<npar %
crossover ketika variabel terakhir tidak terseleksi
par(survive+ix(ic),:)=[par(survive+ix(ic),1:xp(ic))
par(survive+ix(ic)+1,xp(ic)+1:npar)];
par(survive+ix(ic)+1,:)=[par(survive+ix(ic)+1,1:xp(ic))
par(survive+ix(ic),xp(ic)+1:npar)];
end % if
end
%_______________________________________________________
% Mutate the population
mrow=sort(ceil(rand(1,nmut)*(jumlahpop-1))+1);
mcol=ceil(rand(1,nmut)*Nt);
for ii=1:nmut
par(mrow(ii),mcol(ii))=(varhi-varlo)*rand+varlo;
% mutasi
end % ii
%_______________________________________________________
% offspring baru dan kromosom
termutasi dievaluasi
cost=feval(ff,par);
%_______________________________________________________
[cost,ind]=sort(cost);
par=par(ind,:);
%_______________________________________________________
minc(iga+1)=min(cost);
meanc(iga+1)=mean(cost);
%_______________________________________________________
% Stopping criteria
if iga>maksiterasi |
cost(1)<mincost
break
end
[iga cost(1)]
end
%_______________________________________________________
% Tampilan output
day=clock;
disp(datestr(datenum(day(1),day(2),day(3),day(4),day(5),day(6)),0))
disp(['fungsi
optimumnya adalah ' ff])
format short g
disp(['jumlah
populasinya adalah= ' num2str(jumlahpop)...
' mutation rate nya adalah = '
num2str(mutationrate)...
' # par = ' num2str(npar)])
disp(['#generasi
ke='
num2str(iga) ' best cost=' num2str(cost(1))])
disp(['solusi
terbaik'])
disp([num2str(par(1,:))])
disp('algoritma
genetika kontinyu')
figure(1)
iters=0:length(minc)-1;
plot(iters,minc,iters,meanc,'--k');
xlabel('generasi');ylabel('cost');
text(0,minc(1),'best');text(1,minc(2),'populasi
rata-rata')
grid on
Langganan:
Postingan (Atom)