Matlab - Operacion de sumatorias de columnas de Uitable Matlab

   
Vista:

Operacion de sumatorias de columnas de Uitable Matlab

Publicado por David (32 intervenciones) el 27/08/2017 01:17:14
Hola, tengo una duda respecto a los valores obtenidos por las sumatorias de columnas de una tabla.

Lo que pasa es que tengo 2 columnas con 4 filas, como se ve aqui.

tablaaaa

En el que al presionar el boton calcular, se obtiene la sumatoria de la columna A o 1, la sumatoria de la columna B o 2, y la sumatoria resultante de multiplicar cada fila entre las columnas A y B, los valores de estas sumatorias aparecen en los 3 edit text que aparecen debajo de la tabla.

Ahora yo quiero tomar los valores obtenidos de las 3 sumatorias, y tomarlas como variables por separado, para luego operarlas haciendo la operacion (valor de la Sumatoria A * valor de la Sumatoria B) / (valor de la Sumatoria A*B), y ese resultado ponerlo en el edit text de abajo.

El codigo que tengo es este:

1
2
3
4
5
6
7
8
9
A = get(handles.uitable1,'Data');
 
b = set(handles.edit1,'String',sum(cell2mat(A(:,1))))
c = set(handles.edit2,'String',sum(cell2mat(A(:,2))))
d = set(handles.edit3,'String',sum((cell2mat(A(:,1))).*cell2mat((A(:,2)))))
 
t = (b*c)/d;
 
set(handles.edit4, 'String', t)

pero no me genera un resultaado, como podria obtener entonces los valores de las sumatorias para poder operarlos entre si??
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

Operacion de sumatorias de columnas de Uitable Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (4505 intervenciones) el 27/08/2017 02:19:34
1
2
3
4
5
6
7
8
9
10
11
12
function pushbutton1_Callback(hObject, eventdata, handles)
 
A = get(handles.uitable1,'Data');
set(handles.edit1,'String',sum(cell2mat(A(:,1))))
set(handles.edit2,'String',sum(cell2mat(A(:,2))))
set(handles.edit3,'String',sum((cell2mat(A(:,1))).*cell2mat((A(:,2)))))
b=str2double(get(handles.edit1,'String'));
c=str2double(get(handles.edit2,'String'));
d=str2double(get(handles.edit3,'String'));
whos a b c
t = (b*c)/d;
set(handles.edit4, 'String', t)



Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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 Lindsey

Operacion de sumatorias de columnas de Uitable Matlab

Publicado por Lindsey lindsey.acourtt@gmail.com (93 intervenciones) el 27/08/2017 02:25:57
Esa sintaxis no esla adecuada para el set, incluso si escribieras:

1
a=set(handles.edit1)

Lo que obtienes en a son una lista de propiedades que puedes modificar del tal edit1, y si escribes:

1
a=set(handles.edit1,'String')

Te da los valores que puede tomar esa propiedad 'String', y de ahí en adelante no permite más entradas y eso es lo que estás haciendo. Si quieres saber más sobre cómo funciona el set te puede leer la página de ayuda de matlab.

En fin lo que te serviría hacer es calcular el valor de b, c y d y luego colocarlos en los edits, que fue justamente lo que hiciste con t.

1
2
3
4
5
6
7
8
9
10
11
12
13
function pushbutton1_Callback(hObject, eventdata, handles)
 
A = get(handles.uitable1,'Data');
b=sum(cell2mat(A(:,1)));
set(handles.edit1,'String',b)
c=sum(cell2mat(A(:,2)));
set(handles.edit2,'String',c)
d=sum((cell2mat(A(:,1))).*cell2mat((A(:,2))));
set(handles.edit3,'String',d)
 
t = (b*c)/d;
 
set(handles.edit4, 'String', t)
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
Revisar política de publicidad