www.gusucode.com > Matlab动力系统和时间序列分析工具箱 > Matlab动力系统和时间序列分析工具箱/lab432/gui/gui_mutual_average_inf.m
function gui_mutual_average_inf; % last modified 10.12.04 global TS GSD_GLOBALS str=TS.name; [selection,ok] = listdlg('PromptString','Select data:',... 'SelectionMode','multiple','ListString',str); if ~ok return end prompt = {'Enter maximal lag (in samples)'}; dlg_title = 'Enter maximal lag'; num_lines= 1; def = {num2str(min([128 floor(length(TS.data(:,1))/2)]))}; answer = inputdlg(prompt,dlg_title,num_lines,def); if isempty(answer) return end maxLag=str2num(answer{1}); if ok N=length(selection); Fignumbs=floor(N/3); Additaxes=mod(N,3); tempHandleA=[]; tempHandleF=[]; for i=1:Fignumbs tempHandleF(i)=figure('Units','characters',... 'Name',['Mutual average information (in bits): ' num2str(selection(3*(i-1)+1)) ',' num2str(selection(3*(i-1)+2)) ',' num2str(selection(3*(i-1)+3)) ' (' str{selection(3*(i-1)+1)} ', ' str{selection(3*(i-1)+2)} ', ' str{selection(3*(i-1)+3)} ')'],... 'NumberTitle','off','color',[1 1 1]); for j=1:3 tempHandleA=[tempHandleA subplot(3,1,j)]; mutual_average_inf(TS.data(:,selection(3*(i-1)+j)),maxLag); set(ylabel(TS.name{selection(3*(i-1)+j)}),'interpreter','none'); drawnow; end end if Additaxes==1 tempHandleF(end+1)=figure('Units','characters',... 'Name',['Mutual average information (in bits): ' num2str(selection(3*Fignumbs+1)) ' (' str{selection(3*Fignumbs+1)} ' )'],... 'NumberTitle','off','color',[1 1 1]); end if Additaxes==2 tempHandleF(end+1)=figure('Units','characters',... 'Name',['Mutual average information (in bits): ' num2str(selection(3*Fignumbs+1)) ',' num2str(selection(3*Fignumbs+2)) ' (' str{selection(3*Fignumbs+1)} ', ' str{selection(3*Fignumbs+2)} ')'],... 'NumberTitle','off','color',[1 1 1]); end for i=1:Additaxes tempHandleA=[tempHandleA subplot(3,1,i)]; mutual_average_inf(TS.data(:,selection(3*Fignumbs+i)),maxLag); set(ylabel(TS.name{selection(3*Fignumbs+i)}),'interpreter','none'); drawnow; end set(tempHandleA,'fontsize',8); GSD_GLOBALS.fig_handles=[GSD_GLOBALS.fig_handles tempHandleF]; end