I want to sum up specific array in a matrix
Mostrar comentarios más antiguos
For example If I have a matrix like this
x = [ 2.356 37
1.351 39
4.394 37
3.622 39
4.489 39
3.135 37
6.653 39 ]
I want to sum up the values that are specific to 37 and 39 seperatly only if it is alternative. If 39 and 37 are not alternative like in 4th and 5 th row wants to add that to the next subsecuent value in this case it is 37.
Some of the 37 should be (2.356+4.394+4.489+3.135), 39 should be (1.351+3.622+6.653). Please help in getting a matlab code for this!
Thank you in advance
3 comentarios
Andrei Bobrov
el 22 de Jun. de 2019
x = [ 2.356 37
1.351 39
4.394 37
3.622 39
4.489 39
3.135 37
3.5147 37
3.6058 37
2.827 37
3.6134 37
6.653 39];
result - ??
Bhagya Lakshmi Marella
el 22 de Jun. de 2019
Bhagya Lakshmi Marella
el 24 de Jun. de 2019
Respuesta aceptada
Más respuestas (1)
KALYAN ACHARJYA
el 22 de Jun. de 2019
Editada: KALYAN ACHARJYA
el 22 de Jun. de 2019
x =[2.356 37
1.351 39
4.394 37
3.622 39
4.489 39
3.135 37
6.653 39]
idx=(find(x(:,2)==37))';
sum_37=0;
for i=1:length(idx)
sum_37=sum_37+x(idx(i),1);
end
% You can do the same for 39 too
Wait I am providing the same without loop
idx=(find(x(:,2)==37))';
sum_37=sum(x(idx(:),1));
For 39:
idx=(find(x(:,2)==39))';
sum_39=sum(x(idx(:),1));
2 comentarios
Bhagya Lakshmi Marella
el 22 de Jun. de 2019
KALYAN ACHARJYA
el 24 de Jun. de 2019
You can do that using 1/2 line of logical statments and index comparision.
Categorías
Más información sobre Matrix Indexing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!