简体   繁体   中英

How to calculate the mean, min and max in matlab

So I have a script which calculates the mean from accelerator data:

clear all
close all
clc

load 'results.txt'
Fq=51.2;
N=length(results);

t= [1:N]/Fq;

plot (t,results);

role=results;
lowrow=role(1:9244,:);
fly=role(9245:18700,:);
pull=role(18802:28171,:);

subplot(3,1,1)
plot(lowrow)
xlabel('Samples'); ylabel('Acceleration'); title('High to Low Rows')
subplot(3,1,2)
plot(fly)
xlabel('Samples'); ylabel('Acceleration'); title('Reverse Fly')
subplot(3,1,3)
plot(pull)
xlabel('Samples'); ylabel('Acceleration'); title('Lawn Mower Pull')

windowLength = 5; %Length for each window in seconds
startPos = 1; %Starting Position for 1st win
endPos = startPos + (windowLength * floor(Fq)); %End Position for 1st win
totalWindows = floor(length(lowrow)/Fq/windowLength);

stats = zeros(windowLength,9);

for i = 1:totalWindows
epMean = mean(lowrow(startPos:endPos,:)); %calculate window mean

%X, Y & Z axis values for each stat
lowrowfeatures(i,1:3) = epMean; 

%Next window position
startPos = endPos+1;
endPos = startPos + (windowLength * floor(Fq));
end
windowLength = 5; %Length for each window in seconds
startPos = 1; %Starting Position for 1st win
endPos = startPos + (windowLength * floor(Fq)); %End Position for 1st win
totalWindows = floor(length(fly)/Fq/windowLength);

stats = zeros(windowLength,9);

for i = 1:totalWindows
epMean = mean(fly(startPos:endPos,:)); %calculate window mean

%X, Y & Z axis values for each stat
flyfeatures(i,1:3) = epMean; 

%Next window position
startPos = endPos+1;
endPos = startPos + (windowLength * floor(Fq));
end
windowLength = 5; %Length for each window in seconds
startPos = 1; %Starting Position for 1st win
endPos = startPos + (windowLength * floor(Fq)); %End Position for 1st win
totalWindows = floor(length(pull)/Fq/windowLength);

stats = zeros(windowLength,9);

for i = 1:totalWindows
epMean = mean(pull(startPos:endPos,:)); %calculate window mean

%X, Y & Z axis values for each stat
pullfeatures(i,1:3) = epMean; 

%Next window position
startPos = endPos+1;
endPos = startPos + (windowLength * floor(Fq));
end


save('wekafile.txt','lowrowfeatures','flyfeatures','pullfeatures','-ascii')

I know the mean, min and max should all be on the one script I am just unsure of how to do this. I will then put this into weka as an arff file to look at the j48 tree.

Kind regards :)

I'm not sure I understand the question, but MATLAB has a built in function for calculating min and max , just like mean. Use;

minimum = min(variable);
maximum = max(variable);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM