Matlab - operaciones en uitable

 
Vista:
sin imagen de perfil
Val: 46
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

operaciones en uitable

Publicado por andre (25 intervenciones) el 14/03/2020 00:24:49
en este foro aprendi a hacer operaciones en diferentes filas y columnas y pues lo aplique como una sumatoria hasta ahi todo fue bien y hice otras pruebas que salieron bien como sumas y restas a la vez;pero quise intentar hacer una sumatoria usando el porcentaje y,es ahi justo ,donde fallo el codigo,no entendi porque ; podrian ayudarme ?el resultado de la imagen al final deberia ser 100 ya que es una sumatoria de porcentaje
Ejemplo
a=se ingresan datos
b = sale el porcentaje
c= (1,3)=(1,2);
pero tambien los sgtes son las suma del anteiro numero(1,3) +la celda del costado(2,2)=que seria el resultado de 2,3

el codigo del boton seria este

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
A=str2double(get(handles.edit1,'string'));
datos=get(handles.uitable1,'data');
 if isempty(datos)
    datos{1,1}=A;
 else
    datos{end+1,1}=A;
 end
set(handles.uitable1,'data',datos)
%Porcentaje
dat = cell2mat(handles.uitable1.Data(:,1));
dato = 100 * dat / sum(dat);
handles.uitable1.Data(:, 2) = num2cell(dato);
%
acu=cell2mat(handles.uitable1.Data(1,2));
handles.uitable1.Data(1, 3) = num2cell(acu);
datom = cell2mat(handles.uitable1.Data(1:end-1,3))+cell2mat(handles.uitable1.Data(2:end,2));
handles.uitable1.Data(2:end,3) = num2cell(datom);

adjunto el archivo por si acaso;
gracias de antemano por su tiempo y paciencia al responder a estas dudas
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
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

operaciones en uitable

Publicado por Daniel (354 intervenciones) el 14/03/2020 09:53:34
Hola,

Por lo que veo creo que la última columna se podría calcular como:

1
2
total = cumsum(dato); % suma acumulada de los porcentajes
handles.uitable1.Data(:,3) = num2cell(total);

Es decir, con cumsum se puede calcular la suma acumulada de los porcentajes, que ya están en un vector, y luego solo es agregar este valor a tabla.

Saludos,
Daniel Rodríguez
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 46
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

operaciones en uitable

Publicado por andre (25 intervenciones) el 14/03/2020 14:57:26
Gracias por la respuesta Daniel,es claro, conciso y funciona .
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