Anda bisa mengunduh kode sumber GUI MATLAB di sini:
https://www.4shared.com/rar/OHmK9zF-ca/Watak_Linieritas_DTFT.html
GUI MATLAB untuk memverifikasi secara
visual tentang watak linieritas ini telah dirancang. Berikut adalah kode sumber
callback dari tombol TAMPILKAN ACAK:
function TAMPILKAN_ACAK_Callback(hObject,
eventdata, handles)
% hObject
handle to TAMPILKAN_ACAK (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Membaca n1, n2, alfa, dan beta dari keempat
edit teks
n1 = str2num(get(handles.editN1,'String'));
n2 = str2num(get(handles.editN2,'String'));
alfa =
str2num(get(handles.editAlfa,'String'));
beta =
str2num(get(handles.editBeta,'String'));
% Menghasilkan runtun acak
n=[n1:n2];
x1=randn(1,length(n));
x1=x1/max(abs(x1)); %normalisasi
x2=randn(1,length(n));
x2=x2/max(abs(x2)); %normalisasi
%=========================================================================
%Menampilkan x1 pada sumbu axes1 dengan tebal
garis 2 warna merah
axes(handles.axes1)
stem(n,x1,'r','LineWidth',2); grid on;
%Memberikan grid x dan y dengan warna biru
set(gca, 'XColor', 'b')
set(gca, 'YColor', 'b')
%Menambahkan label dan judul
xlabel('Cuplik');ylabel('Amplitudo');
title('Runtun Acak 1')
%Memberikan warna kehijauan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.25]);
%=========================================================================
%Menampilkan x2 pada sumbu axes6 dengan tebal
garis 2 warna merah
axes(handles.axes6)
stem(n,x2,'r','LineWidth',2); grid on;
%Memberikan grid x dan y dengan warna biru
set(gca, 'XColor', 'b')
set(gca, 'YColor', 'b')
%Menambahkan label dan judul
xlabel('Cuplik');ylabel('Amplitudo');
title('Runtun Acak 2')
%Memberikan warna kehijauan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.25]);
%Menyimpan data global agar dapat dipakai
untuk callback berikutnya
global x_1
x_1 = x1;
global x_2
x_2 = x2;
global n1_x
n1_x = n1;
global n2_x
n2_x = n2;
GUI MATLAB untuk memverifikasi secara
visual tentang watak linieritas ini telah dirancang. Berikut adalah kode sumber
callback dari tombol TAMPILKAN ACAK:
function
TAMPILKAN_DFT_Callback(hObject, eventdata, handles)
% hObject handle to TAMPILKAN_DFT (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
%Membaca data
global agar dapat dipakai untuk callback berikutnya
global x_1
x1 = x_1;
global x_2
x2 = x_2;
global n1_x
n1 = n1_x;
global n2_x
n2 = n2_x;
%Membaca alfa dan
beta
alfa =
str2num(get(handles.editAlfa,'String'));
beta =
str2num(get(handles.editBeta,'String'));
%Membaca
parameter-parameter DFT
N =
str2num(get(handles.editBanyakTitik,'String'));
F1 =
str2num(get(handles.editFSampai,'String'));
F0 =
str2num(get(handles.editFMulai,'String'));
%Menghitung DTFT
F{alfa*x1 + beta*x2}
x=alfa*x1 +
beta*x2;
n=n1:n2;
k=F0*N:F1*N;
w=(pi/N)*k;
X=x*(exp(-j*pi/N)).^(n'*k);
%Menampilkan
Magnitudo dari DFT
magX=abs(X);
axes(handles.axes2),
plot(k/N,magX, 'r', 'LineWidth',2);grid
xlabel('frekuensi
dalam unit pi');
title('Bagian
magnitudo dari F[alfa * x1 + beta * x2]'); ylabel('Magnitudo')
%Memberikan grid x
dan y dengan warna biru
set(gca, 'XColor',
'b')
set(gca, 'YColor',
'b')
%Memberikan warna
kehijauan pada latar sumbu
set(gca,'Color',[0.5
0.5 0.5]);
%Menampilkan Sudut
dari DFT
angX=angle(X);
axes(handles.axes4),
plot(k/N,angX, 'r', 'LineWidth',2);grid
xlabel('frekuensi
dalam unit pi');
title('Bagian Sudut
dari F[alfa * x1 + beta * x2]'); ylabel('Radian')
%Memberikan grid x
dan y dengan warna biru
set(gca, 'XColor',
'b')
set(gca, 'YColor',
'b')
%Memberikan warna
kehijauan pada latar sumbu
set(gca,'Color',[0.5
0.5 0.5]);
%==========================================================================
%Menghitung DTFT
F{alfa*x1} + F{beta*x2}
n=n1:n2;
k=F0*N:F1*N;
w=(pi/N)*k;
X1=alfa*x1*(exp(-j*pi/N)).^(n'*k);
X2=beta*x2*(exp(-j*pi/N)).^(n'*k);
X=X1+X2;
%Menampilkan
Magnitudo dari DFT
magX=abs(X);
axes(handles.axes3),
plot(k/N,magX, 'r', 'LineWidth',2);grid
xlabel('frekuensi
dalam unit pi');
title('Bagian
magnitudo dari F[alfa * x1] +F[beta * x2]'); ylabel('Magnitudo')
%Memberikan grid x
dan y dengan warna biru
set(gca, 'XColor',
'b')
set(gca, 'YColor',
'b')
%Memberikan warna
kehijauan pada latar sumbu
set(gca,'Color',[0.5
0.5 0.5]);
%Menampilkan Sudut
dari DFT
angX=angle(X);
axes(handles.axes5),
plot(k/N,angX, 'r', 'LineWidth',2);grid
xlabel('frekuensi
dalam unit pi');
title('Bagian Sudut
dari F[alfa * x1] +F[beta * x2]'); ylabel('Radian')
%Memberikan grid x
dan y dengan warna biru
set(gca, 'XColor',
'b')
set(gca, 'YColor',
'b')
%Memberikan warna
kehijauan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.5]);
No comments:
Post a Comment