Matlab - cargar archivo y usar en GUIDE

 
Vista:

cargar archivo y usar en GUIDE

Publicado por Jordi (14 intervenciones) el 25/06/2013 17:38:40
Hola! Quiero cargar un archivo ( que son de extensión *.txt o *.data y es una matriz(solo números)) y después guardarlo en una variable X para poder usarlo en otras funciones del propio GUIDE. Lo que tengo de codigo es esto:

function Cargar_datos_Callback(hObject, eventdata, handles)
% hObject handle to Cargar_datos (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[FileName Path]=uigetfile({'*.txt;*.data;*.xls'},'Abrir documento');
if isequal(FileName,0)
return;
else
%winopen(strcat(Path,FileName));
end


handles.X=FileName;

guidata(hObject, handles);

% --- Executes on button press in PCA.
function PCA_Callback(hObject, eventdata, handles)
% hObject handle to PCA (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)


[a,b]=size(handles.X);


%%%%%%%%%% ALGORITMO PCA %%%%%%%%%%


[COEF, SCORE, LATENTE, TSQUARED] = princomp(handles.X);
SCORE1=(SCORE(:,1));
SCORE2=(SCORE(:,2));

%%%%% Representacion vector PCA1 & PCA2

handles.g_pca=plot(handles.axes1,SCORE1,SCORE2,'*');
title('PCA')
xlabel('1ra Componente Principal')
ylabel('2da Componente Principal')

set(handles.text1,'string','El Análisis de Componentes principales consiste en encontrar transformaciones ortogonales de las variables originales para conseguir un nuevo conjunto de variables incorreladas, denominadas Componentes Principales, que se obtienen en orden decreciente de importancia.');

guidata(hObject, handles);


Que estoy haciendo mal, xq no representa lo que quiero...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

cargar archivo y usar en GUIDE

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 29/06/2013 01:30:12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
function varargout = cargar_matriz_para_usar_distintos_funciones(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @cargar_matriz_para_usar_distintos_funciones_OpeningFcn, ...
                   'gui_OutputFcn',  @cargar_matriz_para_usar_distintos_funciones_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
 
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
 
function cargar_matriz_para_usar_distintos_funciones_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = cargar_matriz_para_usar_distintos_funciones_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
 
function listbox1_Callback(hObject, eventdata, handles)
function cargar_datos_Callback(hObject, eventdata, handles)
[FileName, Path]=uigetfile({'*.txt'},'Abrir documento');
if isequal(FileName,0)
      return;
else
     fid=fopen(strcat(Path,FileName),'r');
     tline = fgetl(fid);
     i=1;
    while ischar(tline)
        X(i,:)=tline;
        tline = fgetl(fid);
        i=i+1;
    end
    fclose(fid);
 
 end
 handles.X=X;
 guidata(hObject, handles);
 
function edit1_Callback(hObject, eventdata, handles)
function PCA_Callback(hObject, eventdata, handles)
 [a,b]=size(handles.X);
 %%%%%%%%%% ALGORITMO PCA %%%%%%%%%%
 [COEF, SCORE, LATENTE, TSQUARED] = princomp(handles.X);
 SCORE1=(SCORE(:,1));
 SCORE2=(SCORE(:,2));
 
 %%%%% Representacion vector PCA1 & PCA2
 handles.g_pca=plot(handles.axes1,SCORE1,SCORE2,'*');
 title('PCA')
 xlabel('1ra Componente Principal')
 ylabel('2da Componente Principal')
 set(handles.text1,'string',['El Análisis de Componentes principales ',...
 'consiste en encontrar transformaciones ortogonales de las variables',...
 'originales para conseguir un nuevo conjunto de variables incorreladas,',...
 'denominadas Componentes Principales, que se obtienen en orden decreciente',...
 'de importancia.']);



Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
[email protected]

http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar