⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 randplt.m

📁 ADSP TOOLBOX: Version 2.0 and gui m-files
💻 M
字号:
function randplt
% RANDPLT Plotting routine 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_val = str2num(get(ui(21),'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);

%%%%%%%%%
if get(ui(15),'userdata')==1
set(f,'currentaxes',ui(22));
zoom out,zoom reset
set(f,'currentaxes',ui(25));
zoom out,zoom reset
end
%%%%%%%%%%



n_vec = 0:(sig_len-1);
new_y = zeros(size(n_vec));
dist_type = get(ui(19),'value');

for k = 1:num_of_sigs,

  if dist_type==1,
      y = randist(n_vec,'nor',mean_val);
   elseif dist_type==2,
      y = randist(n_vec,'uni',mean_val);
   elseif dist_type==3,
      y = randist(n_vec,'exp',mean_val);
   elseif dist_type==4,
      y = randist(n_vec,'gam',mean_val);
   elseif dist_type==5,
      y = randist(n_vec,'ray',mean_val);
%   elseif dist_type==6,
%      y = randist(n_vec,'lap',mean_val);
   end
   
   new_y = new_y + y;
   
end

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);
nmin=min(n_vec);nmax=max(n_vec);mmin=min(new_y);mmax=max(new_y);
set(rand_axes,'xlim',[nmin,nmax],'ylim',[mmin,mmax]);
set(ui(30),'userdata',[new_y(:) n_vec(:)]);

axes(hist_axes);
[n,x] = hist(new_y,num_of_bins);
set(ui(31),'userdata',x);
set(ui(32),'userdata',n);

axes(hist_axes)
%hh=get(hist_axes,'vis');
bar(x,n);grid on;
set(hist_axes,'color','k');
title(['Histrogram: ',int2str(num_of_bins),' bins']);
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


% 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 + -