Matrix Manipulation of a specific column

11 次查看(过去 30 天)
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!

回答(1 个)

Hyeokjin Jho
Hyeokjin Jho 2018-9-27
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 个评论
Brady Wayne Robinson
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);
>>
Hyeokjin Jho
Hyeokjin Jho 2018-10-1

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}.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by