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

📄 lorenzgui.m

📁 lorenzmodel混沌系统演示程序
💻 M
📖 第 1 页 / 共 2 页
字号:
    while get(gca,'Userdata')==1 
        if t1(i) >= tfinal
            set(gca,'Userdata',-1);
            set(handles.run_wave,'String','RUN/PLOT');
            break
        end
        
        if get(handles.actual_yo,'Value')==0
            set(line_plot,'Visible','Off')
            set(line_time_plot,'Visible','Off')
        elseif get(handles.actual_yo,'Value')==1
            set(line_plot,'Visible','On')
            set(line_time_plot,'Visible','On')
         end
        if get(handles.change_dyo,'Value')==0
            set(line_plotd,'Visible','Off')
            set(line_time_plotd,'Visible','Off')
        elseif get(handles.change_dyo,'Value')==1
            set(line_plotd,'Visible','On')
            set(line_time_plotd,'Visible','On')
        end
        set(ball_plot,'XData',Y(i,1),'YData',Y(i,2),'ZData',Y(i,3))
        set(ball_plotd,'XData',DY(i,1),'YData',DY(i,2),'ZData',DY(i,3))
        set(ball_time_plot,'XData',t1(i),'YData',Yt(i))
        set(ball_time_plotd,'XData',t2(i),'YData',DYt(i))
        set(line_plot,'XData',Y(1:i,1),'YData',Y(1:i,2),'ZData',Y(1:i,3))
        set(line_plotd,'XData',DY(1:i,1),'YData',DY(1:i,2),'ZData',DY(1:i,3))
        set(line_time_plot,'XData',t1(1:i),'YData',Yt(1:i))
        set(line_time_plotd,'XData',t2(1:i),'YData',DYt(1:i))
        handles.line_plot = line_plot;
        handles.line_plotd = line_plotd;
        handles.line_time_plot = line_time_plot;
        handles.line_time_plotd = line_time_plotd;
        guidata(hObject, handles);
        drawnow;
        pause(0.01)
        i = i + 1;
    end
    set(line_plot,'Erase','Background')
    set(line_plotd,'Erase','Background')
    set(line_time_plot,'Erase','Background')
    set(line_time_plotd,'Erase','Background')
     
else
    set(gca,'Userdata',-1);
    set(handles.run_wave,'String','RUN/PLOT');  
end
set(handles.display_plot,'HandleVisibility','Off')
set(handles.time_plot,'HandleVisibility','On')
set(handles.animate2d_disp1,'Enable','On')
set(handles.animate2d_disp2,'Enable','On')
set(handles.animate3d_disp,'Enable','On')
set(handles.actual_yo,'Enable','On')
set(handles.change_dyo,'Enable','On')
 
%--------------------------------------------------------------------------function animate2d_disp1_Callback(hObject, eventdata, handles)
cla;set(handles.time_plot,'HandleVisibility','Off')
set(handles.display_plot,'HandleVisibility','On')
cla;
plot_view = [0,90];
set(handles.display_plot,'View',plot_view,'Box','On');  
set(handles.y1label,'Visible','On')
set(handles.y2label,'String','y2','Visible','On','Position',[0.255 0.606 0.032 0.034])
set(handles.y13dlabel,'Visible','Off')
set(handles.y23dlabel,'Visible','Off')
set(handles.animate3d_disp,'Value',0)
set(handles.animate2d_disp2,'Value',0)

%--------------------------------------------------------------------------
function animate2d_disp2_Callback(hObject, eventdata, handles)
cla;
set(handles.time_plot,'HandleVisibility','Off')
set(handles.display_plot,'HandleVisibility','On')
cla;
plot_view = [0,90];
set(handles.display_plot,'View',plot_view,'Box','On');  
set(handles.y1label,'Visible','On')
set(handles.y2label,'String','y3','Visible','On','Position',[0.255 0.606 0.032 0.034])
set(handles.y13dlabel,'Visible','Off')
set(handles.y23dlabel,'Visible','Off')
set(handles.animate3d_disp,'Value',0)
set(handles.animate2d_disp1,'Value',0)

%--------------------------------------------------------------------------
function animate3d_disp_Callback(hObject, eventdata, handles)
cla;
set(handles.time_plot,'HandleVisibility','Off')
set(handles.display_plot,'HandleVisibility','On')
cla;
plot_view = [-37.5,30];
set(handles.display_plot,'View',plot_view,'Box','OFF');
set(handles.y1label,'Visible','Off')
set(handles.y2label,'String','y3','Position',[0.245 0.6 0.032 0.034])
set(handles.y13dlabel,'Visible','On')
set(handles.y23dlabel,'Visible','On')
set(handles.animate2d_disp1,'Value',0)
set(handles.animate2d_disp2,'Value',0)

%--------------------------------------------------------------------------function info_Callback(hObject, eventdata, handles)helpwin('lorenzGUI.m')

%--------------------------------------------------------------------------function close_button_Callback(hObject, eventdata, handles)close(gcbf) % to close GUI%--------------------------------------------------------------------------function b_CreateFcn(hObject, eventdata, handles)%--------------------------------------------------------------------------function b_Callback(hObject, eventdata, handles)
%--------------------------------------------------------------------------function sigma_CreateFcn(hObject, eventdata, handles)%--------------------------------------------------------------------------function sigma_Callback(hObject, eventdata, handles)
%--------------------------------------------------------------------------function r_CreateFcn(hObject, eventdata, handles)%--------------------------------------------------------------------------function r_Callback(hObject, eventdata, handles)
%--------------------------------------------------------------------------
function t0_CreateFcn(hObject, eventdata, handles)

%--------------------------------------------------------------------------
function t0_Callback(hObject, eventdata, handles)

%--------------------------------------------------------------------------
function tf_CreateFcn(hObject, eventdata, handles)

%--------------------------------------------------------------------------
function tf_Callback(hObject, eventdata, handles)
%--------------------------------------------------------------------------function y0_CreateFcn(hObject, eventdata, handles)
%--------------------------------------------------------------------------function y0_Callback(hObject, eventdata, handles)
% --------------------------------------------------------------------function Gridmenu_Callback(hObject, eventdata, handles)% --------------------------------------------------------------------function grid_onoff_Callback(hObject, eventdata, handles)if strcmp(get(handles.gridopt,'checked'),'on')
    set(handles.gridopt,'checked','off')           % To uncheck the grid option
    set(handles.display_plot,'XGrid','Off','YGrid','Off','ZGrid','Off') % Make the grid invisible
    set(handles.time_plot,'XGrid','Off','YGrid','Off') % Make the grid invisible
else 
    set(handles.gridopt,'checked','on')            % To check the grid option
    set(handles.display_plot,'XGrid','On','YGrid','On','ZGrid','On')   % Make the grid visible
    set(handles.time_plot,'XGrid','On','YGrid','On') % Make the grid invisible
end

% --------------------------------------------------------------------
% Funtion to solve the equations
function dy = lorenzequation(t,y,b,r,s)
dy = zeros(3,1);
dy(1) = - s*y(1) + s*y(2);
dy(2) = - y(1)*y(3) + r*y(1) - y(2);
dy(3) = y(1)*y(2) - b*y(3);

% --- Executes during object creation, after setting all properties.function dyo_CreateFcn(hObject, eventdata, handles)function dyo_Callback(hObject, eventdata, handles)
% --- Executes on button press in actual_yo.function actual_yo_Callback(hObject, eventdata, handles)if get(handles.actual_yo,'Value')==0
    set(handles.line_plot,'Visible','Off')
    set(handles.line_time_plot,'Visible','Off')
elseif get(handles.actual_yo,'Value')==1
    set(handles.line_plot,'Visible','On')
    set(handles.line_time_plot,'Visible','On')
end
% --- Executes on button press in change_dyo.function change_dyo_Callback(hObject, eventdata, handles)
if get(handles.change_dyo,'Value')==0
    set(handles.line_plotd,'Visible','Off')
    set(handles.line_time_plotd,'Visible','Off')
    
elseif get(handles.change_dyo,'Value')==1
    set(handles.line_plotd,'Visible','On')
    set(handles.line_time_plotd,'Visible','On')
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -