www.gusucode.com > Matlab动力系统和时间序列分析工具箱 > Matlab动力系统和时间序列分析工具箱/lab432/gui/open_data_from_ws.m

    function open_data_from_ws

% last modified 28.08.07

global TS GSD_GLOBALS


ws_vars = evalin('base', 'who');
L = length(ws_vars);
data_ws = {};
for i=1:L
    val = evalin('base',ws_vars{i});
    if isnumeric(val)
        if length(size(val))==2
            data_ws = [data_ws, {ws_vars{i}; val}];
        end
    end
end
if ~length(data_ws)
    msgbox('No valid data in workspace','No data');
    return
end
[selection,ok] = listdlg('PromptString','Select variable:',...
    'SelectionMode','single','ListString',data_ws(1,:));
if ~ok
    return
end
DATA=data_ws{2,selection};

clear_session(1);
TS.data=DATA;
[x,y]=size(DATA);
for i=1:y
    TS.name{i}=['crd_' num2str(i)];
end
TS.time=(1:x)';
h=findobj('tag','MainFig');
if ~isempty(h)
    set(h,'name','Lab432  [base workspace variable]');
end
GSD_GLOBALS.en_dis.datapresent=1;
gui_en_dis;
button = questdlg('Data are loaded. View it?',...
    '','Yes','No','No');
if strcmp(button,'Yes')
    view_data;
end