📄 randgen.m
字号:
function randgen
% RANDGEN Signal generator for RANDGUI.
% ADSP Toolbox: Version 2.0
% For use with "Analog and Digital Signal Processing", 2nd Ed.
% Published by PWS Publishing Co.
%
% Ashok Ambardar, EE Dept. MTU, Houghton, MI 49931, USA
% http://www.ee.mtu/faculty/akambard.html
% e-mail: akambard@mtu.edu
% Copyright (c) 1998
f = gcf;
ui = get(f,'userdata');
num_of_sigs = str2num(get(ui(10),'string'));
sig_len = str2num(get(ui(13),'string'));
num_of_bins = str2num(get(ui(16),'string'));
mean_txt = ui(3);
st_dev_txt = ui(5);
var_txt = ui(7);
rand_sigs = ui(23:24);
rand_axes = ui(22);
hist_axes = ui(25);
n_vec = 0:(sig_len-1);
new_y = zeros(size(n_vec));
for k = 1:num_of_sigs,
if get(ui(19),'value'),
y = rand(size(n_vec));
else
y = randn(size(n_vec));
end
new_y = new_y + y;
end
%spplot(rand_sigs,n_vec,new_y)
%Replacement for spplot
if ~length(new_y), return; end
set(rand_sigs(1),'xdata',n_vec,'ydata',new_y);
set(rand_sigs(2),'xdata',n_vec,'ydata',new_y);
axes(hist_axes);
[n,x] = hist(new_y,num_of_bins);
%bar(x,n);
%set(hist_axes,'color','k');
%title(['Histrogram: ',int2str(num_of_bins),' bins']);
%ver_str=version;
%ver4=length(findstr('4.',ver_str));
%if ver4
axes(hist_axes)
hh=get(hist_axes,'vis');
bar(x,n);
set(hist_axes,'color','k');
title(['Histrogram: ',int2str(num_of_bins),' bins']);
%plot(fr(:),spec,'m')
%set(tf_axs,'xlim',[0 0.5],'color','k');
axs_pos=get(hist_axes,'pos');
if axs_pos(4)==160,
set(rand_axes,'pos',[210,250,390,160],'vis','on');
set(hist_axes,'pos',[210,40,390,160],'vis','on');
end
%else
%set(f,'currentaxes',hist_axes)
%set(hist_axes,'nextplot','replacechildren');
%bar(x,n);
%set(hist_axes,'color','k');
%title(['Histrogram: ',int2str(num_of_bins),' bins']);
%end
% mean
m_y = mean(new_y);
set(mean_txt,'string',num2str(m_y));
% standard deviation
std_y = std(new_y);
set(st_dev_txt,'string',num2str(std_y));
% variance
var_y = std_y*std_y;
set(var_txt,'string',num2str(var_y));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -