MATLAB Answers

0

How to find these features for large number of data?

Dear People,
I have 80 datasheets, and within each datasheet I have 3 different group. In each group I have 400 measurements.
I have to measure the root mean square value, Standard deviation, skewness etc.
But I have not got a clue how to do it for these many data point.
I started by transforming each coloumn into an array ( transposed it) and then managed to get rms. But I am wondering if there is a more efficient way of doing it.
If you guys have any suggestions please let me know.
My code:
X = transpose(table2array( reachandretrieve00(:,3)));
r = rms(X)
I have attached one of my datasheets.

  댓글 수: 0

로그인 to comment.

답변 수: 1

Kevin Phung 님의 답변 7 Mar 2019
 채택된 답변

i'm not sure how you're storing each datasheet, but if they are all in cell arrays (1 x 80 cell array, where each cell array is a datasheet):
rms_val = [];
for i = 1:numel(datasheets) % for each datasheet
for j = 1:size(datasheets{i},2) % for each column in each datasheet
rms_val(i,j) = rms(datasheets{i}{:,j}) %for each datasheet, store rms value into a row vector
end
end

  댓글 수: 4

표시 이전 댓글 수: 1
so datasheet{1}{:,2} accesses the first datasheet, and the second column.
i am not too sure what you mean by filtering, but lets say i want to grab all positive values from this column...then I would do:
datasheet{1}{:,2}(datasheet{1}{:,2} > 0) %logical indexing
note that the curly brackey notation is a means of accessing information within a cell array.
example:
a = {[1 2 3 4 5]}; % a is a 1x1 cell array
a{1}(a{1}>2) %this would give me 3 4 5
Thank you for helping me! It worked :)
youre welcome!

로그인 to comment.



Translated by