Azzera filtri
Azzera filtri

Obatin the sum from reading columns from 2 matrices

1 visualizzazione (ultimi 30 giorni)
Damith
Damith il 17 Giu 2014
Risposto: the cyclist il 17 Giu 2014
Hi,
I have matrix A=(5479 x 378) and RowID matrix (15 x 2). I need to get the sum for each column of A for RowIDs 1:15
for id=1:378
for ix=1:1:15
St(ix,1)=sum(new(:,id)([RowID(ix,1):RowID(ix,2)],:));
end
end
Error: ()-indexing must appear last in an index expression.
This is the error I am getting when I run the above code. Can somebody help me to fix that please?
Thanks in advance.
  3 Commenti
Damith
Damith il 17 Giu 2014
Modificato: Damith il 17 Giu 2014
Thanks. Here is an simple example. I need to get the sum of first and second row of new matrix for all columns in new refering to the row numbers from RowID matrix. Hope you understand now. please let me know if you need more clarification.
I know there is some error in my coding so I need to fix that. My code does not work. I must call the row numbers from this RowID matrix since I have large data set.
Input:
new =
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0.1 0.8 0.5 0.1 0 0.4 1 1.4 1 0.5
0 0.1 0 0 0.1 0 0 0 0 0
0 0.1 0 0 0 0 1.4 0 0 0.2
0 0 0 0 0 0 0 0 0 0
RowID = [1 2; 3 4; 5 6; 7 8; 9 10];
for id=1:10
for ix=1:1:10
St(ix,1)=sum(new(:,id)([RowID(ix,1):RowID(ix,2)],:));
end
end
exmple answer for summation of 7 and 8 row across all columns of new matrix is
output=
0.1 0.9 0.5 0.1 0.1 0.4 1.0 1.4 1.0 0.5
the cyclist
the cyclist il 17 Giu 2014
Sorry for continuing to ask questions, but I am trying not to waste your time with an inaccurate solution.
Could you ever have something like
RowID = [1 5; 6 8]
where you are summing more than two consecutive rows?

Accedi per commentare.

Risposte (1)

the cyclist
the cyclist il 17 Giu 2014
Does this do what you want?
numberSets = size(RowID,1);
St = zeros(numberSets,size(new,2));
for ns = 1:numberSets
St(ns,:) = sum(new(RowID(ns,1):RowID(ns,2),:),1);
end

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by