Matrix Manipulation of a specific column

I have data in excel that is 17 columns by 4800 rows. The 17 columns represent different muscles, and the rows represent times they are "activated." For each column I need to know which numbers in that column are greater then 10 and what that number is. Once I find all those different numbers I need to sum them up. Just uncertain how to do this. Thank You!

Answers (1)

Assuming Data is the matrix that containing your data,
threshold = 10;
for i = size(Data,2)
pickedColumn = Data(:,i);
selectedNumbers{i} = pickedColumn(pickedColumn>threshold);
summedNumbers(i) = sum(selectedNumbers{i});
end
will work.
Numbers greater than 10 of column i is stored in selectedNumbers{i}, and summed value in summedNumbers(i)

2 Comments

This doesn't seem to work. The error I get is Undefined function 'gt' for input arguments of type 'table'.
Error in Matlab_Homework1 (line 16) selectedNumbers{i} = pickedColumn(pickedColumn>threshold);
>>

Apparently Data seems to be a table instead of normal matrix.

threshold = 10;
for i = size(Data,2)
  pickedColumn = Data{:,i};
  selectedNumbers{i} = pickedColumn(pickedColumn>threshold);
  summedNumbers(i) = sum(selectedNumbers{i});
end

To extract data from table, you have to change Data(:,i) to Data{:,i}.

Sign in to comment.

Products

Release

R2018a

Asked:

on 27 Sep 2018

Commented:

on 1 Oct 2018

Community Treasure Hunt

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

Start Hunting!