-1
Так у меня есть сценарий, который вычисляет среднее из данных ускорителя:Как рассчитать среднее значение, минимальное и максимальное в MATLAB
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')
Я знаю, среднее, минимальное и максимальное все должны быть на одном скрипте я я просто не знаю, как это сделать. Затем я помещу это в weka как файл arff, чтобы посмотреть дерево j48.
С наилучшими пожеланиями :)
Вы не можете просто дамп кучи коды (даже не отступ!), А затем спросить, как выполнять совершенно тривиальные задачи, даже не упоминая, где в коде и на то, что переменные, которые вы хотите сделать эти расчеты. 'mean',' min' и 'max' - это все встроенные функции MATLAB, и какая у вас проблема? – Dan
Дэн, спасибо за ваш ответ. Проблема, с которой я сталкиваюсь, находится в моем вопросе :) – laurajs
Если это так, то она настолько глубоко погребена в неформатированном и нерелевантном коде, который никто никогда не найдет. Прочитайте [ask] и как создать [MCVE] (http://stackoverflow.com/help/mcve). В вашем случае вам нужно сосредоточиться на M (для минимального, вырезать все несоответствующий код). – Dan