% Program ini men-simulasikan tanggapan suatu % plant G(s)dengan pencuplik ideal dan ZOH di % depannya, tanpa pengendali apa-apa alias % open-loop clc clear % Tentukan periode cuplik, misalnya: T=0.5; % Satu periode cuplik, dibagi menjadi periode % komputasi yang lebih kecil, misalnya: dt=0.01; % Sehingga skala waktu kontinyu pada setiap T: t=0:dt:T; k=length(t); % Tentukan keadaan awal isyarat keluaran: c(1)=0; % Isyarat masukan diambil dari file lain: r(1)=masukan(t(1)); % Tentukan waktu akhir simulasi, misalnya: ta=10; % Jumlah periode cuplik sampai akhir simulasi: K=round(ta/T); % Model Nisbah Alih dari G(s), misalnya 1/(s+1): num=[0 1]; den=[1 1]; sys=tf(num,den); % Kita mulai menghitung untuk plotting: iplot=0; % Mulai simulasi sebanyak K kali: for i=1:K % Ini cuma buat menandai loop yang dikerja: home count=i clc % Isyarat masukan r(t) musti di-ZOH konstan sepanjang T: for j=1:k rt(j)=r(i); end % Keadaan awal dari isyarat keluaran pada periode ini: c0=c(i); % Siap untuk simulasi 0<=t<=T: [ct t]=lsim(sys,rt,t,c0); % Kumpulkan data untuk di-plot nanti: for n=1:k cplot(n+iplot)=ct(n); % Khusus untuk t, harus ditambah satu periode, jadi: tplot(n+iplot)=t(n)+((i-1)*T); % Isyarat masukan dan cuplikannya, serta cuplikan c(t): rtplot(n+iplot)=masukan(tplot(n+iplot)); rzplot(n+iplot)=masukan((i-1)*T); czplot(n+iplot)=c(i); end % Hitungan untuk plotting bertambah k: iplot=iplot+k; % Cuplikan dari isyarat masukan: r(i+1)=masukan(i*T); % Tentukan lagi keadaaan awal untuk periode berikut: c(i+1)=ct(k); end; subplot(2,1,1),plot(tplot,cplot,tplot,czplot), grid on subplot(2,1,2),plot(tplot,rtplot,tplot,rzplot), grid on ' t masukan r(t) keluaran c(t)' [tplot' rtplot' cplot'] ' t cuplikan r(k) cuplikan c(t)' [tplot' rzplot' czplot']