Gui-varargout y matrices
Publicado por Antonio (1 intervención) el 27/03/2008 11:52:38
Hola,
Estoy desarrollando un programa con Gui y tengo el siguiente problema.
Desde una ventana llamo a otra que quiero que me devuelva una matriz,lo hago así:
%Declaro la H variable global porque luego la utilizare en otra funcion
%La n indica el numero de elementos que tendra la matriz(nxn)
global H
[H]=introduceMatriz(n);
introduceMatriz es otra ventana que me hace lo siguiente:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function varargout = introduceMatriz(varargin)
%DONT EDIT
......
%DONT EDIT
function introduceMatriz_OpeningFcn(hObject, eventdata, handles, varargin)
% Choose default command line output for introduceMatriz
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
set(handles.activex1,'Cols', varargin{1} + 1);
set(handles.activex1,'Rows', varargin{1} + 1);
global Temp
Temp=0;
function varargout = introduceMatriz_OutputFcn(hObject, eventdata, handles)
global Temp
varargout{1} = Temp;
function pushbutton1_Callback(hObject, eventdata, handles)
for i = 2:get(handles.activex1,'Cols') % For Loop 1
for j = 2:get(handles.activex1,'Rows') % For Loop 2
set(handles.activex1,'Col',(i-1));
set(handles.activex1,'Row',(j-1));
global Temp
Temp((j-1),(i-1)) = get(handles.activex1,'Value');
end; % End For 2
end; %End For 1
varargout{1}=Temp;
close;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
El caso es que Temp coge bien el valor de la matriz,pero al darselo a H esta nunca tiene el valor correcto,siempre se queda con 0. No soy un gran entendido de Matlab y por mas que he buscado no se donde puede estar el error.
¿Alguna idea?
Muchas gracias
Muchas gracias
Estoy desarrollando un programa con Gui y tengo el siguiente problema.
Desde una ventana llamo a otra que quiero que me devuelva una matriz,lo hago así:
%Declaro la H variable global porque luego la utilizare en otra funcion
%La n indica el numero de elementos que tendra la matriz(nxn)
global H
[H]=introduceMatriz(n);
introduceMatriz es otra ventana que me hace lo siguiente:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function varargout = introduceMatriz(varargin)
%DONT EDIT
......
%DONT EDIT
function introduceMatriz_OpeningFcn(hObject, eventdata, handles, varargin)
% Choose default command line output for introduceMatriz
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
set(handles.activex1,'Cols', varargin{1} + 1);
set(handles.activex1,'Rows', varargin{1} + 1);
global Temp
Temp=0;
function varargout = introduceMatriz_OutputFcn(hObject, eventdata, handles)
global Temp
varargout{1} = Temp;
function pushbutton1_Callback(hObject, eventdata, handles)
for i = 2:get(handles.activex1,'Cols') % For Loop 1
for j = 2:get(handles.activex1,'Rows') % For Loop 2
set(handles.activex1,'Col',(i-1));
set(handles.activex1,'Row',(j-1));
global Temp
Temp((j-1),(i-1)) = get(handles.activex1,'Value');
end; % End For 2
end; %End For 1
varargout{1}=Temp;
close;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
El caso es que Temp coge bien el valor de la matriz,pero al darselo a H esta nunca tiene el valor correcto,siempre se queda con 0. No soy un gran entendido de Matlab y por mas que he buscado no se donde puede estar el error.
¿Alguna idea?
Muchas gracias
Muchas gracias
Valora esta pregunta


0