fcfx2.m

来自「多元统计程序包」· M 代码 · 共 327 行

M
327
字号
function varargout = fcfx2(varargin)
% FCFX2 M-file for fcfx2.fig
%      FCFX2, by itself, creates a new FCFX2 or raises the existing
%      singleton*.
%
%      H = FCFX2 returns the handle to a new FCFX2 or the handle to
%      the existing singleton*.
%
%      FCFX2('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in FCFX2.M with the given input arguments.
%
%      FCFX2('Property','Value',...) creates a new FCFX2 or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before fcfx2_OpeningFunction gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to fcfx2_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help fcfx2

% Last Modified by GUIDE v2.5 08-Nov-2003 14:24:24
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @fcfx2_OpeningFcn, ...
                   'gui_OutputFcn',  @fcfx2_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin<=1
fig2=openfig('fcfx2.fig','reuse');
handles2=guihandles(fig2);
guidata(fig2,handles2);
if nargin>0
    varargout{1}=fig2;
end
elseif ischar(varargin{1})
    try
        [varargout{1:nargout}]=feval(varargin{:});
    catch
        disp(lasterr);
    end
end

% End initialization code - DO NOT EDIT


% --- Executes just before fcfx2 is made visible.
function fcfx2_OpeningFcn(hObject, eventdata, handles2, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to fcfx2 (see VARARGIN)

% Choose default command line output for fcfx2
handles2.output = hObject;

% Update handles structure
guidata(hObject, handles2);

% UIWAIT makes fcfx2 wait for user response (see UIRESUME)
% uiwait(handles.fcfx2);


% --- Outputs from this function are returned to the command line.
function varargout = fcfx2_OutputFcn(hObject, eventdata, handles2)
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles2.output;
% --------------------------------------------------------------------function Uimenu1_Callback(hObject, eventdata, handles2)% hObject    handle to Uimenu1 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% --------------------------------------------------------------------function um1_item1_Callback(hObject, eventdata, handles2)% hObject    handle to um1_item1 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)str='在一项试验中多于一个因素对试验结果有影响,就叫做双因素方差分析';
msgbox(str)
% --------------------------------------------------------------------function um1_item2_Callback(hObject, eventdata, handles2)% hObject    handle to um1_item2 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)str='原始数据为m×n的矩阵,请参阅示例数据文件fcdata2,数据取自《多元统计》例1.2';
msgbox(str)
% --------------------------------------------------------------------function um1_item3_Callback(hObject, eventdata, handles2)% hObject    handle to um1_item3 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)openfig('fcfx2_help2','reuse');% --- Executes on button press in import_botton.function import_botton_Callback(hObject, eventdata, handles2)% hObject    handle to import_botton (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)[fname, pname] = uigetfile('*.mat', '打开数据文件');
%如果打开文件对话框的"cancel"按钮被选择
if isequal([fname, pname], [0, 0])
    return
%否则,转载文件全名,包括路径,并检验文件,转载它。
else
      global File
    File = fullfile(pname, fname);
   
    if isempty(File)
        errordlg('您打开的不是一个有效的数据文件');
    end
    if exist(File)==2
    data=importdata(File);
    end
  
        set(handles2.data_box,'string',num2str(data));
      
        set(handles2.import_botton,'enable','off');
        set(handles2.ok_botton,'enable','on')
   
end
panduan1=get(handles2.data_box,'string');
 if isempty(panduan1)
    errordlg('您打开的数据文件有误,详情请参阅“帮助”的“数据说明”');
 end

                
   
function [var,n,m,r]=get_var_names(handles2,File)

data=importdata(File); 
     var=data;   
     input={'请输入因素A的水平数:','请输入因素B的水平数:','请输入重复实验的次数:'}; 
     reps=inputdlg(input);
     n=str2num(reps{1});
     m=str2num(reps{2});
     r=str2num(reps{3});
     

% --- Executes on button press in run_botton.function run_botton_Callback(hObject, eventdata, handles2)% hObject    handle to run_botton (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)global x r
p=anova2(x,r);
str_p=num2str(p);
set(handles2.outputdata_listbox,'string',str_p);% --- Executes on button press in restart_botton.function restart_botton_Callback(hObject, eventdata, handles2,varargin)% hObject    handle to restart_botton (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)
set(handles2.ok_botton,'enable','off');set(handles2.data_box,'string','');
set(handles2.outputdata_listbox,'string','');
set(handles2.import_botton,'enable','on');set(handles2.run_botton,'enable','off');

% --- Executes on button press in exit_botton.function exit_botton_Callback(hObject, eventdata, handles2)close% --- Executes during object creation, after setting all properties.function data_box_CreateFcn(hObject, eventdata, handles2)if ispc    set(hObject,'BackgroundColor','white');else    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on selection change in data_box.function data_box_Callback(hObject, eventdata, handles2)% --- Executes during object creation, after setting all properties.function outputdata_listbox_CreateFcn(hObject, eventdata, handles2)if ispc    set(hObject,'BackgroundColor','white');else    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on selection change in outputdata_listbox.function outputdata_listbox_Callback(hObject, eventdata, handles2)% --- Executes during object creation, after setting all properties.function reps_edit_CreateFcn(hObject, eventdata, handles)% hObject    handle to reps_edit (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%       See ISPC and COMPUTER.if ispc    set(hObject,'BackgroundColor','white');else    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction reps_edit_Callback(hObject, eventdata, handles)% hObject    handle to reps_edit (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of reps_edit as text%        str2double(get(hObject,'String')) returns contents of reps_edit as a double% --- Executes on button press in ok_botton.function ok_botton_Callback(hObject, eventdata, handles2)% hObject    handle to ok_botton (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)global File x r
   [var,n,m,r]=get_var_names(handles2,File);
if (isempty(n))|(isempty(m))|(isempty(r))
         warndlg('你输入的值有误,可能为空,可能有不合法的字符或输入!')
else
  
if (size(var)==[n*r,m])
    x=var;
    
    set(handles2.data_box,'string',{'数据矩阵为:',num2str(x)});
     set(handles2.run_botton,'enable','on');
     set(handles2.ok_botton,'enable','off');
elseif (size(var)==[m*r,n]) 
    x=var;
   
     set(handles2.data_box,'string',{'数据矩阵为:',num2str(x)});
     set(handles2.run_botton,'enable','on');
     set(handles2.ok_botton,'enable','off');
else 
    errordlg('您输入的的数据与m、n和r不匹配,请重新选择变量。若要重新导入数据文件请单击“重新开始”');
end
end

 
% --- Executes during object creation, after setting all properties.function outputdata_listbox_CreateFcn(hObject, eventdata, handles)% hObject    handle to outputdata_listbox (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    empty - handles not created until after all CreateFcns called% Hint: listbox controls usually have a white background on Windows.%       See ISPC and COMPUTER.if ispc    set(hObject,'BackgroundColor','white');else    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on selection change in outputdata_listbox.function outputdata_listbox_Callback(hObject, eventdata, handles)% --- Executes on button press in readresult_button.function readresult_button_Callback(hObject, eventdata, handles2, varargin)% handles    structure with handles and user data (see GUIDATA)readresult_pushbutton(handles2);% --- Executes on button press in save_button.function save_button_Callback(hObject, eventdata, handles2, varargin)% hObject    handle to save_button (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)save_pushbutton(handles2);% --------------------------------------------------------------------function um1_item4_Callback(hObject, eventdata, handles, varargin)% hObject    handle to um1_item4 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)importdata_help; % --------------------------------------------------------------------function um1_item5_Callback(hObject, eventdata, handles, varargin)% hObject    handle to um1_item5 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)restart_help;% --------------------------------------------------------------------function um1_item6_Callback(hObject, eventdata, handles, varargin)% hObject    handle to um1_item6 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)readresult_help;% --------------------------------------------------------------------function um1_item7_Callback(hObject, eventdata, handles, varargin)% hObject    handle to um1_item7 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)save_help;

⌨️ 快捷键说明

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