Matlab - Mostrar una matriz en una gui

 
Vista:

Mostrar una matriz en una gui

Publicado por etty (13 intervenciones) el 10/08/2009 17:14:04
Hola , tengo varias matrices almacenadas en variables y me gustaria saber como mostrarlas de alguna forma en la gui. En ppio. lo muestro en un list box asi:
set(handles.listbox9,'String',num2str(A))

El problema es que al tener cada celda una cantidad de caracteres(puede ser un 0 o -0.005) la matriz va quedando desplazada y no queda bien.

Gracias
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

RE:Mostrar una matriz en una gui

Publicado por fismat (391 intervenciones) el 10/08/2009 18:44:32
Hola Etty,

Podrias utilizar el comando cellplot en forma similar al siguiente ejemplo que vas creando elementos de celdas y luego las graficas con el comando cellplot

>> A{1,1}={'1','1';'2','3'};
>> A{1,2}={'8','4';'5','3'}
>> A{2,2}={'4','1';'2','3'};
>> cellplot(A)

Saludos
fismat
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

RE:Mostrar una matriz en una gui

Publicado por etty (13 intervenciones) el 11/08/2009 17:58:39
Hola, el problema es que este comando lo puedo utilizar con matrices pequeñas pero si son grandes no se aprecian los numeros.
Me gustaria saber si a alguien se le ocurre otra forma de mostrar las matrices porque lo de mostrarlas en un listbox tpco funciona, ya que las columnas quedan desalineadas...

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

RE:Mostrar una matriz en una gui

Publicado por Kike (304 intervenciones) el 11/08/2009 19:05:12
Una solución sería no mostrar la matriz en la GUI, sino exportarla a una hoja de excel utilizando el comando xlswrite.
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

RE:Mostrar una matriz en una gui

Publicado por fismat (391 intervenciones) el 12/08/2009 00:46:50
Hola Etty

Que te parece esta solución, puedes verificar con varios tamaños y podrias agregarlo a un gui.

Saludos
Fismat

PS: Esperamos noticias

---- Codigo -------------

close all
clc
clear all

B=ceil(1000*rand(20));
[nx,ny]=size(B);
[x,y]=meshgrid(linspace(0,1,ny+2),linspace(0,1,nx+2));
for i=1:nx
for j=1:ny
text(x(i+1,j+1),y(i+1,j+1),num2str(B(i,j)),'FontSize',10,...
'FontWeight','bold')
hold on
end
end
set(gca,'YTickLabel',[],'XTickLabel',[],'YColor',[1 1 1],'XColor', [1 1 1])
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

RE:Mostrar una matriz en una gui

Publicado por fismat (391 intervenciones) el 12/08/2009 00:47:55
Hola Etty

Que te parece esta solución, puedes verificar con varios tamaños de elementos de matrices y tambien podrias agregarlo a un gui. espero sea lo que estas buscando.

Saludos
Fismat

PS: Esperamos noticias

---- Codigo -------------

close all
clc
clear all

B=ceil(1000*rand(20));
[nx,ny]=size(B);
[x,y]=meshgrid(linspace(0,1,ny+2),linspace(0,1,nx+2));

for i=1:nx
for j=1:ny
text(x(i+1,j+1),y(i+1,j+1),num2str(B(i,j)),'FontSize',10,...
'FontWeight','bold')
hold on
end
end
set(gca,'YTickLabel',[],'XTickLabel',[],'YColor',[1 1 1],'XColor', [1 1 1])
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

RE:Mostrar una matriz en una gui

Publicado por etty (13 intervenciones) el 12/08/2009 01:12:51
Hola, ante todo muchas gracias por la ayuda. En este caso me encuentro con el problema de siempre: el espacio de la matriz es siempre el mismo , la figura delimitada por los ejes siempre tiene el mismo tamaño. Digamos que para un caso de una matriz de 20x20, incluso 40x40 si rebajamos el tamaño de letra seria suficiente porque los numeros cabrian en el recinto. El problema surge cuando la matriz es de una dimension mayor...
La idea que tenia inicialmente era la de mostrarlo a traves de un static text o de un listbox, pero el problema viene de que en estos elementos hay que escribir con objetos tipo string ... por lo que las matrices quedarian desalineadas.

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

RE:Mostrar una matriz en una gui

Publicado por fismat (391 intervenciones) el 12/08/2009 01:34:43
Hola etty,

Te recomiendo que veas en la ayuda de Matlab sobre "Uicontrol Properties", especialmente lo referente a "String", ahi dice que "For editable text, the String property value is set to the string entered by the user."

Saludos
Fismat
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

RE:Mostrar una matriz en una gui

Publicado por fismat (391 intervenciones) el 12/08/2009 02:08:53
Hola Etty,

te sugiero que contactes a Diego, El trabajo sobre Guide, estoy seguro que él te ayudará,

http://www.mathworks.com/matlabcentral/fileexchange/authors/24891

http://www.protagonistas-del-reino.activafe.org/modulo-matlab/matlabdocs/manuales/%5Bmatlab%5D_MATLAB_GUIDE.pdf

email de contactos:

[email protected]
[email protected]

Saludos
Fismat
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

RE:Mostrar una matriz en una gui

Publicado por fismat (391 intervenciones) el 12/08/2009 16:31:29
Hola etty,

Como te fue, lograste encontrar la solución,

Saludos
Fismat
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

RE:Mostrar una matriz en una gui

Publicado por etty (13 intervenciones) el 13/08/2009 01:43:39
Hola, he estado hablando con Diego Barragan. Una de las posibles soluciones es usar la uitable ... pero todavia ando buscando...

SAludos
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

RE:Mostrar una matriz en una gui

Publicado por fismat (391 intervenciones) el 13/08/2009 15:57:43
Hola etty,

Te recomiendo en el ultimo caso que escribas a Doug Hull ([email protected]) es el desarrollador de Guides en MathWork.

El ve temas relacionados a:

1. How do I manipulate the strings in a uicontrol?
2. How do make a uicontrol invisible/visible?
3. How do I make a multi-line editbox?
4. How can I let the user of my GUI know his actions are futile (or producing no results)?
5. How can I tell which uicontrol is selected?
6. How can I tell how many times a uicontrol has been activated?
7. How do I tell which button in a buttongroup is selected?
8. How do I let the user know a process is running in the background?
9. How do I control the mouse pointer with a GUI?
10. How can I access the value (current position) of a slider?
11. How can I use different colored strings in a listbox?
12. How can I make text that can be copied but not changed?
13. How do I allow the user of my GUI to set the range of a slider?
14. How do I use the buttondownfcn on an axes object?
15. How do I make a callback talk to another callback?
16. How can I get the string from a popup or listbox?
17. How can I set the string in a popup or listbox?
18. How can I add to the string in a popup or listbox?
19. How do I tell which figure was current before my callback executed?
20. How do I get data from another GUI?
21. How do I make a GUI to open image files only?
22. How can I make popup choices mutually exclusive?
23. How can I show the current pointer location in axes coordinates?
24. How can I use uicontextmenus?
25. How do I make my GUI control an axes in another figure?
26. What are callback strings?
27. How can I make it so that when one of the figures closes, they all close?
28. How do I make several uicontrols interact in a more complicated GUI?
29. How do I get data from a GUI to the base workspace?
30. How do I make toggle buttons act like tabbed-panels?
31. How can I make a password editbox that has the ***** symbols?
32. How can I use nested function as callbacks?
33. How can I use uiwait in a GUI?

saludos
Fismat
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

Mostrar una matriz en una gui

Publicado por Entey (1 intervención) el 28/11/2012 01:30:19
Hola
lo que buscabas era esto:

set(handles.listbox9,'String',num2str(A,10))
o con 5, 6 o 7 despues de la A
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

Mostrar una matriz en una gui

Publicado por miguel (1 intervención) el 08/08/2016 20:09:31
bueno, la mejor forma que encontré es de usar un Listbox.
Ejemplo:
a=magic(100);
set(handles.listbox1,'string',num2str(a),'Fontname','Courier New')
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