Calculating average and standard deviation for element correction factor from excel file
    7 views (last 30 days)
  
       Show older comments
    
    Lucas Acuna Scafati
 on 7 Feb 2020
  
    
    
    
    
    Commented: fred  ssemwogerere
      
 on 12 Feb 2020
            I'm importing data from an excel file. I need to take the average of every of every serial number, then calculate the standard deviation percentage of every serial number. Any ideas how i could do that?  Thank you

0 Comments
Accepted Answer
  fred  ssemwogerere
      
 on 7 Feb 2020
        Hello, this should do nicely;
% Assuming your spreadsheet file is in the current (working) Matlab folder
optns=detectImportOptions('file.xlsx'); % replace the input "file.xlsx" here with the name of your file and extension
% Set variables to import from your file and import as table
optns.SelectedVariableNames={'SerialNumber','RawCounts'};
T=readtable('file.xlsx',optns); % replace "file.xlsx" with the name of your file
% Determine unique serial numbers and corresponding indices
% The unique serial numbers are stored in "C".
[Z,mX,mY]=unique(T.SerialNumber);
% Compute the mean for each unique serial number
avg=accumarray(mY,T.RawCounts,[],@mean);
% Compute the standard deviation for each unique serial number
stdev=accumarray(mY,T.RawCounts,[],@std);
% To calculate the percentage standard deviation or relative deviation, you
% multiply each standard deviation by 100, and divide it by its
% corresponding mean value in array; "avg".
percentdev=(stdev.*100)./avg;
4 Comments
  fred  ssemwogerere
      
 on 12 Feb 2020
				Hello, oh yes, by "C", i meant "Z". That was a typing error. Thank you
More Answers (0)
See Also
Categories
				Find more on Spreadsheets in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!