Matlab - Mostrar valores de diferentes variables en una uitable de GUI y luego exportar a excel

 
Vista:
sin imagen de perfil

Mostrar valores de diferentes variables en una uitable de GUI y luego exportar a excel

Publicado por Guillermo (2 intervenciones) el 11/06/2018 22:36:55
Hola buenas, llevo poco tiempo programando en Matlab y me gustaría saber como es la forma adecuada para mostrar resultados en una uitbale en GUI y luego exportar los datos a un Excel. El problema es que no se como hacer para mostrar los datos, ya que los tengo todos separados en vectores columnas. La tabla con resultados es de 12x18. Entre los cuales hay palabras y números (resultados). Un ejemplo breve de lo que tengo calculado es lo siguiente:

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
for i = 1:cd
  for  j = 1:cm.         %donde cd y cm los traigo de otro GUI como variable global
                               % y la variable geo y eti son datos obtenidos de una uitable de la GUI
       if eti(i,1) == j
 
 
       tvu(i,1) = (abs(V2(i,1))*1000)/(0.6*Ag(i,1));
       em(i,1) = geo(j,1);
 
         if em(i,1) < 30
            tvum(i,1) = 2.12*sqrt(fc);
         else
            tvum(i,1) = 2.65*sqrt(fc);
        end
 
         if tvu(i,1) <=  tvum(i,1)
          if geo(j,3)/geo(j,2) <= 1.5
            alfac(i,1) = 0.8;
          elseif geo(j,3)/geo(j,2) >= 2.0
            alfac(i,1) = 0.53;
         else
            alfac(i,1) = 2.98148 - 1.851852*(geo(j,3)/geo(j,2));
        end
 
        %aporte hormigon
        %minimo entre 0.53*raiz(fc)*bw*d ; alfac*raiz(fc)*Acv donde d = 0.8Lw
        vc(i,1) = min((0.53*sqrt(fc)*Ag(i,1)*0.8),(alfac(i,1)*sqrt(fc)*Ag(i,1)));
        if (abs(P(i,1))*1000/0.6)< vc(i,1)
            pt(i,1) = 0.0025;
        else
            pt(i,1) = ((P(i,1)*1000/0.6)-vc(i,1))/(Ag(i,1)*4200);
        end
 
            vs(i,1) = Ag(i,1)*pt(i,1)*4200;
            vcvs(i,1)    = vc(i,1)+vs(i,1);
            fuvc(i,1)    = abs(V2(i,1)*1000)/vc(i,1);
            fuvcs(i,1)   = abs(V2(i,1)*1000)/vcvs(i,1);
 
            Avt(i,1) = pt(i,1)*geo(j,1)*100;
            Avtr(i,1) = Avt(i,1)/2;
 
%Requiere confinar si Ht/Lw >= 3
     htlw(i,1) = geo(j,4)/geo(j,2);
     %pregunta si cumple con condicion
     if htlw(i,1) >= 3
         okhl{i,1} = 'SI'
     else
         okhl{i,1} = 'NO'
     end
end

De esta parte del código por ejemplo si quiero mostrar los siguientes datos:

- vc
- pt
- vs
- fuvc
- fuvcs
- Avtr
- htlw
- okhl

Que quedaría mostrado en la uitable así

1
2
Vc(ton)  pt.   vs(ton).  fuvc      fuvcs.  Avtr    ht/lw.   ht/lw > 3
 101.94  0.0025  178.5.  0.0001.   0.00005.  2.5.   0.37.      NO

Como podría hacerlo?. Debo juntar todos las variables en una sola como por ejemplo tabla = {vc , pt , vs , fuvc , etc) ?. O hay otra manera?.
Ya tengo dimensionada la uitable con su encabezados y filas, solo me hace falta mostrar los datos y luego al presionar el botón exportarlos.

Captura_de_pantalla_2018_06_11_a_la_s_16_27_30

Espero puedan ayudarme con esta parte del problema, y disculpen si no es bien formulada la pregunta. Saludos y 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

Mostrar valores de diferentes variables en una uitable de GUI y luego exportar a excel

Publicado por Guillermo (2 intervenciones) el 14/06/2018 00:38:06
Ya lo resolví, si alguien esta interesado subiré el código de como lo hice. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar