Matlab - ??? Attempt to reference field of non-structure array.

   
Vista:

??? Attempt to reference field of non-structure array.

Publicado por Francisco Javier Gimenez Rauch (1 intervención) el 04/11/2013 02:58:29
Hola, estoy programando un trabajo de simulación para mi facultad, estoy utilizando la GUI de matlab. Busque mucha información y comencé con el proyecto pero al codificarlo me sentí frustrado al no poder arreglar un error muy persistente. Ya busque la solución en internet pero no pude encontrarla. Paso a explicar el problema:

Tengo 4 Edit Text para ingresar 4 números naturales: "n" (cantidad de números pseudoaleatorios a generar), "semilla", "t" y "p" (los 3 valores se utilizan para crear números pseudoaleatorios)
y luego almaceno la serie generada en una tabla. Al hacer click en el botón se utiliza el codigo que cree:

n = get(handles.editn, 'string'); %Adquiero el valor de "n"
if ~isnan(str2double(n)) %Si lo ingresado ES un numero entonces...
n = str2double(n); %Convierto el String del edittext en un double
else
warndlg('Solamente puede ingresar numeros, intentelo nuevamente','Aviso');
return;
end

semilla = get(handles.editsemilla, 'string'); %Adquiero el valor de "semilla"
if ~isnan(str2double(semilla)) %Si lo ingresado ES un numero entonces...
semilla = str2double(semilla); %Convierto el String del edittext en un double
else
warndlg('Solamente puede ingresar numeros, intentelo nuevamente','Aviso');
return;
end

t = get(handles.editt, 'string'); %Adquiero el valor del parametro "t"
if ~isnan(str2double(t)) %Si lo ingresado ES un numero entonces...
t = str2double(t); %Convierto el String del edittext en un double
else
warndlg('Solamente puede ingresar numeros, intentelo nuevamente','Aviso');
return;
end

p = get(handles.editp, 'string'); %Adquiero el valor del parametro "p"
if ~isnan(str2double(p)) %Si lo ingresado ES un numero entonces...
p = str2double(p); %Convierto el String del edittext en un double
else
warndlg('Solamente puede ingresar numeros, intentelo nuevamente','Aviso');
return;
end


%Metodo multiplicativo de Congruencias
m=10000; %Modulo
a = 200 * t + p; %Parametro "a"

if ~isprime(semilla) %Si el numero no es primo que busque el siguiente primo con otro codigo
semilla=siguienteprimo(semilla);
set(handles.editsemilla,'String',semilla);
end

for i=1:n %Calculo de la serie de numeros pseudoaleatorios
r = mod((a * semilla), m);
semilla = r;
r01 = r/m;
serie(i) = r01;
end

set(handles.tablademanda,'data',serie);
set(handles.textmuestrademanda, 'visible','on');
set(handles.tablademanda,'visible','on'); % La tabla esta invisible al igual que el titulo
guidata(hObject,handles);




%Fin del codigo


El error que surge es:

??? Error while evaluating uicontrol Callback

??? Attempt to reference field of non-structure array.

Error in ==> Main>botongenerademanda_Callback at 180
n = get(handles.editn, 'string'); %Adquiero el valor de "n"

Error in ==> gui_mainfcn at 96
feval(varargin{:});

Error in ==> Main at 42
gui_mainfcn(gui_State, varargin{:});

Error in ==>
@(hObject,eventdata)Main('botongenerademanda_Callback',hObject,eventdata,guidata(hObject))


??? Error while evaluating uicontrol Callback

Lo mas curioso es que si intento ejecutar el programa desde el archivo main.fig sucede este error. ¡Pero si ejecuto el codigo main.m funciona!

¿Alguien podria ayudarme por favor? Gracias de antemano
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

??? Attempt to reference field of non-structure array.

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 05/11/2013 06:07:37
Haber mándame tu guide a mi correo, tanto el archivo fig y archivo m. Para revisarlo en su integridad.


Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com



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