Matlab - Crear una interfaz GUI

 
Vista:

Crear una interfaz GUI

Publicado por klipya (13 intervenciones) el 24/10/2012 09:37:14
Hola,

Me gustaría hacer llegaros una duda. Tengo un código simple de renombrar unas carpetas en Matlab y me gustaría saber si podría pasarlo fácilmente a una interfaz GUI. He visto en ejemplos que es como si se 'rehaciera' el código y me gustaría saber si es posible una forma más 'fácil' y directa o tendría que modificarlo todo.

myPath = 'C:\EX \';
a= dir (fullfile(myPath,'*.zip));
fileNames = { a.name };

for k = 1:length(fileNames)
% n = num2str(fileNames{k}(4:9));

n = str2num(fileNames{k}(4:9));
if n >= 205040 & n < 208041
fileName = 25;
else fileName= 0;
end

xs= num2str(fileName);
newFileName = [fileNames{k}(4:9) '_' fileNames{k}(10:16) xs '.zip'];
movefile([myPath fileNames{k}], [myPath newFileName]);
end

Muchas gracias de antemano y saludos,
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

Crear una interfaz GUI

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 24/10/2012 16:32:29
De ser facil o no ser facil es relativo.
Depende del conocimiento de matlab de cada usuario.
Todo tiene un proceso.
Bueno copia y pega al guide, ademas supongo que conoces lo minimo de guide.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function imprimir_coseno_OpeningFcn(hObject, eventdata, handles, varargin)
%==========================
myPath = 'C:\EX \';
a= dir (fullfile(myPath,'*.zip'));
fileNames = { a.name };
 
for k = 1:length(fileNames)
 % n = num2str(fileNames{k}(4:9)); 
 
n = str2num(fileNames{k}(4:9));
if n >= 205040 & n < 208041
fileName = 25;
else fileName= 0;
 end
 
 xs= num2str(fileName);
 newFileName = [fileNames{k}(4:9) '_' fileNames{k}(10:16) xs '.zip'];
movefile([myPath fileNames{k}], [myPath newFileName]);
end
 
%=============================
handles.output = hObject;
guidata(hObject, handles);


Algo asi debe quedar tu codigo.
No he filtrado tu codigo hecho a nivel de m-file simple, pueda que pueda haber error, revisa bien.

Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
[email protected]
http://matlabcaballero.blogspot.com
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
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

Crear una interfaz GUI

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 24/10/2012 17:18:15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>> renombrar_archivos_zip
archivos zip sin renombrar
 
.                         fef205042ffhgghe.zip      gff205043ghegiee.zip
..                        feh205050ghghgih.zip      ghf205041hfhigfe.zip
ehg205048hhffgih.zip      ffh205040hffihhi.zip      hhg205049hfhdidg.zip
eif205046fehdiee.zip      fhg205044eggfdhg.zip      renombrar_archivos_zip.m
fdf205045eehfdfh.zip      geg205047hihhfeg.zip
 
archivos zip renombradas
 
.                         205043_ghegiee25.zip      205048_hhffgih0.zip
..                        205044_eggfdhg25.zip      205049_hfhdidg0.zip
205040_hffihhi25.zip      205045_eehfdfh0.zip       205050_ghghgih0.zip
205041_hfhigfe25.zip      205046_fehdiee0.zip       renombrar_archivos_zip.m
205042_ffhgghe25.zip      205047_hihhfeg0.zip




Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
[email protected]

http://matlabcaballero.blogspot.com
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

Crear una interfaz GUI

Publicado por klipya (10 intervenciones) el 29/10/2012 10:15:09
Muchas gracias Jose, voy a intentarlo! ;)
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

Crear una interfaz GUI

Publicado por klipya (13 intervenciones) el 01/02/2013 12:02:30
Hola Jose,

Una pregunta. Recibo el siguiente error con el código. Es porque el código no está bien escrito? Saludos y gracias!


??? function pushbutton1_CreateFcn(hObject, eventdata, handles)
|
Error: Function
definitions are not
permitted in this
context.
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
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

Crear una interfaz GUI

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 01/02/2013 17:46:51
El código que he puesto en el foro es correcto, como tu mismo estarás viendo, también esta la ejecución del código, y en la ejecución no hay error. Además está hecho al nivel guide.

El detalle es que no esta el código completo. Además como te decía en mis mensajes anteriores, supongo que conoces algo de guide. Caso contrario tendría que empezar a estudiar el guide desde un nivel básico.

Además tu mismo como te darás cuenta, no pones el código que estas haciendo al foro, muchas personas hacen eso, con la cuestión de proteger sus códigos que están haciendo, el problema es que hay veces no se puede detectar tan fácilmente en que parte de su código está el error, sino uno no ve el código que esta haciendo el usuario.



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

http://matlabcaballero.blogspot.com
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

Crear una interfaz GUI

Publicado por klipya (13 intervenciones) el 18/04/2013 14:11:59
Hola! Me he reincoporardo a hacer una interfaz gui. Tengo una duda para utilizar un botón para 'cargar' una imagen (solo cargar, ni enseñarla ni nada). Estoy haciendo algo mal? El error que me da es: "Function definitions are not permitted in this context. ". Esto me solventaría todo el problema.





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

HYP = multibandread('C:\imagen123.bil', [1476,256,12], 'uint16',...
0, 'bil','ieee-le');
axis off;
guidata(hObject,handles)

Saludos y gracias,
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