Выбор функций на высокочастотных данных Matlab - PullRequest
0 голосов
/ 10 мая 2018

У меня есть данные за 1 год 50 Гц (ветровая турбина), около 100 ГБ.Файлы 10 минут, каждый файл имеет около 70 файлов датчиков.Каждая переменная датчика имеет около 30.000 данных.

Я пытаюсь применить методы выбора объектов к этим данным.То, что сработало до сих пор, это когда я объединяю, например, 10 датчиков, где я думаю, что они влияют на зависимую переменную.Я получаю матрицу из 10 переменных, и каждая переменная имеет 30 000 раз, скажем, 6 файлов, так что 180 000.И здесь я оценил только час данных за целый год.

Есть ли возможность оценить все мои данные с помощью методов выбора элементов?

% Этот сценарий считывает все данные из рабочей области и объединяет данные из% разных файлов.создан набор переменных: зависимые переменные - A / A1% и независимые переменные res_biege для дальнейшей работы

xliste = dir('*.mat'); %dateiinformationen werden ge-speichert 
xanzahldateien = numel(xliste); % Anzahl der gefun-denen .mat dateien 
xnamederdatei =  {xliste.name}; % alle dateinamen im Ordner werden im Array gespeichert

C_Bieg1_060_240_merge = [];
Generatordrehzahl_Anlagengeno_merge = [];
Generatordrehzahl_Triebstrang_merge = [];
Pitchwinkel_Blatt1_merge = [];
Rotordrehzahl_merge = [];
Turmschwingung_X_merge = [];
Turmschwingung_Y_merge = [];
Windgeschwindigkeit_Gondel_merge = [];
Windrichtung_relativ_merge = [];
Wirkleistung_merge = [];
C_Bieg2_150_330_merge = [];


for k=1:1:length(xliste)-1 %Einlesen der daten aus dem Ordner 
load(xnamederdatei{k}); % öffnen der dateien
%cut all sensor values into one vector
C_Bieg1_060_240_merge = vertcat(C_Bieg1_060_240_merge, C_Bieg1_060_240);
C_Bieg2_150_330_merge = vertcat(C_Bieg2_150_330_merge, C_Bieg2_150_330);
Generatordrehzahl_Anlagengeno_merge = vertcat(Generatordrehzahl_Anlagengeno_merge,Generatordrehzahl_Anlagengeno);
Generatordrehzahl_Triebstrang_merge = vertcat(Generatordrehzahl_Triebstrang_merge,Generatordrehzahl_Triebstrang);
Pitchwinkel_Blatt1_merge = vertcat(Pitchwinkel_Blatt1_merge,Pitchwinkel_Blatt1);
Rotordrehzahl_merge = vertcat(Rotordrehzahl_merge,Rotordrehzahl);
Turmschwingung_X_merge = vertcat(Turmschwingung_X_merge,Turmschwingung_X);
Turmschwingung_Y_merge = vertcat(Turmschwingung_Y_merge,Turmschwingung_Y);
Windgeschwindigkeit_Gondel_merge = vertcat(Windgeschwindigkeit_Gondel_merge,Windgeschwindigkeit_Gondel);
Windrichtung_relativ_merge = vertcat(Windrichtung_relativ_merge,Windrichtung_relativ);
Wirkleistung_merge = vertcat(Wirkleistung_merge,Wirkleistung);

end
% clear the workspace except needed variables
clearvars -except C_Bieg1_060_240_merge C_Bieg2_150_330_merge Generatordrehzahl_Anlagengeno_merge Generatordrehzahl_Triebstrang_merge Pitchwinkel_Blatt1_merge Rotordrehzahl_merge Turmschwingung_X_merge Turmschwingung_Y_merge Windgeschwindigkeit_Gondel_merge Windrichtung_relativ_merge Wirkleistung_merge
%cutting down vectors to the same length
C_Bieg1_060_240_merge = C_Bieg1_060_240_merge(1:150000);
C_Bieg2_150_330_merge = C_Bieg2_150_330_merge(1:150000);
Generatordrehzahl_Anlagengeno_merge = Generatordrehzahl_Anlagengeno_merge(1:150000);
Generatordrehzahl_Triebstrang_merge = Generatordrehzahl_Triebstrang_merge(1:150000);
Pitchwinkel_Blatt1_merge = Pitchwinkel_Blatt1_merge(1:150000);
Rotordrehzahl_merge = Rotordrehzahl_merge(1:150000);
Turmschwingung_X_merge = Turmschwingung_X_merge(1:150000);
Turmschwingung_Y_merge = Turmschwingung_Y_merge(1:150000);
Windgeschwindigkeit_Gondel_merge = Windgeschwindigkeit_Gondel_merge(1:150000);
Windrichtung_relativ_merge = Windrichtung_relativ_merge(1:150000);
Wirkleistung_merge = Wirkleistung_merge(1:150000);

%avereging every 5 values
C_Bieg1_060_240_merge = nanmean(reshape( [C_Bieg1_060_240_merge(:);nan(mod(-150000,50),1)],50,[]))';
C_Bieg2_150_330_merge = nanmean(reshape( [C_Bieg2_150_330_merge(:);nan(mod(-150000,50),1)],50,[]))';
Generatordrehzahl_Anlagengeno_merge = nanmean(reshape( [Generatordrehzahl_Anlagengeno_merge(:);nan(mod(-150000,50),1)],50,[]))';
Generatordrehzahl_Triebstrang_merge = nanmean(reshape( [Generatordrehzahl_Triebstrang_merge(:);nan(mod(-150000,50),1)],50,[]))';
Pitchwinkel_Blatt1_merge = nanmean(reshape( [Pitchwinkel_Blatt1_merge(:);nan(mod(-150000,50),1)],50,[]))';
Rotordrehzahl_merge = nanmean(reshape( [Rotordrehzahl_merge(:);nan(mod(-150000,50),1)],50,[]))';
Turmschwingung_X_merge = nanmean(reshape( [Turmschwingung_X_merge(:);nan(mod(-150000,50),1)],50,[]))';
Turmschwingung_Y_merge = nanmean(reshape( [Turmschwingung_Y_merge(:);nan(mod(-150000,50),1)],50,[]))';
Windgeschwindigkeit_Gondel_merge = nanmean(reshape( [Windgeschwindigkeit_Gondel_merge(:);nan(mod(-150000,50),1)],50,[]))';
Windrichtung_relativ_merge = nanmean(reshape( [Windrichtung_relativ_merge(:);nan(mod(-150000,50),1)],50,[]))';
Wirkleistung_merge = nanmean(reshape( [Wirkleistung_merge(:);nan(mod(-150000,50),1)],50,[]))';
%Create a table for correlation analysis & array (matrix)
res_biege = sqrt(C_Bieg1_060_240_merge.^2 + C_Bieg2_150_330_merge.^2);
T = table(res_biege , Generatordrehzahl_Anlagengeno_merge, Generatordrehzahl_Triebstrang_merge, Pitchwinkel_Blatt1_merge, Rotordrehzahl_merge, Turmschwingung_X_merge, Turmschwingung_Y_merge, Windgeschwindigkeit_Gondel_merge, Windrichtung_relativ_merge, Wirkleistung_merge);
A = table2array(T);
A1 = table2array(table(Generatordrehzahl_Anlagengeno_merge, Generatordrehzahl_Triebstrang_merge, Pitchwinkel_Blatt1_merge, Rotordrehzahl_merge, Turmschwingung_X_merge, Turmschwingung_Y_merge, Windgeschwindigkeit_Gondel_merge, Windrichtung_relativ_merge, Wirkleistung_merge));
R = corrcoef(A)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...