WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Tabelle aus beliebig vielen 20x1 Arrays zusammensetzten

 

Tjulk
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 28.11.19
Wohnort: Göttingen
Version: ---
     Beitrag Verfasst am: 29.11.2019, 09:59     Titel: Tabelle aus beliebig vielen 20x1 Arrays zusammensetzten
  Antworten mit Zitat      
Hallo =)

Ich schreibe gerade ein Programm das mir beliebig viele Dateien(Messreihen) einliest und damit dann bestimmte Berechnungen durchführt.
Bis hierhin alles gut. Man kann es bestimmt eleganter Lösen aber es macht was ich möchte.

Das Problem ist fast ganz unten im Code:
Nun Möchte ich die Ergebnisse in eine Tabelle schreiben und diese dann in Excel speichern.
Ich habe also meine Ergebnisse : FinalData1 (6x1 cell) , in jeder der 6 Zellen ist ein 20x1 double mit meinen Ergebnissen. Diese 20 Werte von n Messreihen (in diesem Fall 6) möchte ich nun in einer Tabelle haben.
Also alle 20 Ergebnisse einer Datei in einer Spalte.

Stehe da im Moment echt auf dem Schlauch und wäre für jeden Denkanstoß dankbar!

Beste Grüße Tjulk

Code:
clc;
clear all;

numfiles = 6;
Messreihe = cell(1, numfiles);

%Einlesen aller Datein aus Verzeichnis die die passende Bennenung haben
for k = 1:numfiles
  myfilename = sprintf('11%d.asc', k);
  Messreihe{k} = importdata(myfilename);
end    

for k = 1:numfiles
   
  DistalSensors4x4{k}= Messreihe{1,k}.data (2:end,[167 168 169 170
                                              181 182 183 184
                                              195 196 197 198
                                              209 210 211 212]) ;  
                                         
         
  ProximalSensors{k} = Messreihe{1,k}.data(2:end,[9 10 11 12 13 14
                                                  23 24 25 26 27 28
                                                  37 38 39 40 41 42
                                                  51 52 53 54 55 56
                                                  65 66 67 68 69 70]) ;

  MiddleSensors{k} = Messreihe{1,k}.data(2:end,[79 80 81 82 83 84
                                             93 94 95 96 97 98
                                             107 108 109 110 111 112          % MITTLERER Teil = 79 - 138
                                             121 122 123 124 125 126
                                             133 134 135 136 137 138]) ;


  DistalSensors{k} = Messreihe{1,k}.data(2:end,[145 146 147 148 149 150                
                                             157 158 159 160 161 162
                                             171 172 173 174 175 176          % DISTALER Teil = 145 - 204
                                             185 186 187 188 189 190
                                             199 200 201 202 203 204]) ;



  AllSensors15x6{k} = Messreihe{1,k}.data (2:end,[9 10 11 12 13 14
                                            23 24 25 26 27 28
                                            37 38 39 40 41 42
                                            51 52 53 54 55 56                   % PROXIMALER Teil = 9 - 70
                                            65 66 67 68 69 70
                                            79 80 81 82 83 84
                                            93 94 95 96 97 98
                                            107 108 109 110 111 112             % MITTLERER Teil = 79 - 138
                                            121 122 123 124 125 126
                                            133 134 135 136 137 138
                                            145 146 147 148 149 150
                                            157 158 159 160 161 162             % DISTALER Teil = 145 - 204
                                            171 172 173 174 175 176        
                                            185 186 187 188 189 190
                                            199 200 201 202 203 204]) ;
end

%Berechnen der Maxima
for k = 1 : numfiles
    MaxSensors4x4Spalte{k} = max(DistalSensors4x4{1,k});
    Max4x4{k} = max(MaxSensors4x4Spalte{1,k});
   
    MaxSensors15x6Spalte{k} = max(AllSensors15x6{1,k});   %max aus jeder Spalte
    MaxALL15x6{k} = max(MaxSensors15x6Spalte{1,k});       % Gesamt Max
   
    MaxProxSpalte{k} = max(ProximalSensors{1,k});
    MaxProximal{k} = max(MaxProxSpalte{1,k});
   
    MaxMiddleSpalte{k} = max(MiddleSensors{1,k});   %max aus jeder Spalte
    MaxMiddle{k} = max(MaxMiddleSpalte{1,k});       % Gesamt Max
   
    MaxDisSpalte{k} = max(DistalSensors{1,k});
    MaxDistal{k} = max(MaxDisSpalte{1,k});
end

%Berechnen der Minia
for k = 1:numfiles
    AllSensors15x6{k}(AllSensors15x6{k}==0)=NaN;
    ProximalSensors{k}(ProximalSensors{k}==0)=NaN;
    MiddleSensors{k}(MiddleSensors{k}==0)=NaN;
    DistalSensors{k}(DistalSensors{k}==0)=NaN;
    DistalSensors4x4{k}(DistalSensors4x4{k}==0)=NaN;
   
    Min4x4Spalte{k}=min(DistalSensors4x4{1,k});
    Min4x4{k} = min(Min4x4Spalte{1,k});
   
    MinSensors15x6Spalte{k} = min(AllSensors15x6{1,k});   %max aus jeder Spalte
    MinALL15x6{k} = min(MinSensors15x6Spalte{1,k});       % Gesamt Max
   
    MinProxSpalte{k} = min(ProximalSensors{1,k});
    MinProximal{k} = min(MinProxSpalte{1,k});
   
    MinMiddleSpalte{k} = min(MiddleSensors{1,k});   %max aus jeder Spalte
    MinMiddle{k} = min(MinMiddleSpalte{1,k});       % Gesamt Max
   
    MinDisSpalte{k} = min(DistalSensors{1,k});
    MinDistal{k} = min(MinDisSpalte{1,k});    
   
end

% Berechnung Mittelwerte und Standartabweichung in den Bereichen
for k = 1:numfiles
    MW_Proximal{k} = mean(ProximalSensors{k}(ProximalSensors{k}(:)>0));
     MW_Middle{k} = mean(MiddleSensors{k}(MiddleSensors{k}(:)>0));
      MW_Distal{k} = mean(DistalSensors{k}(DistalSensors{k}(:)>0));
       MW_ALL15x6{k} = mean(AllSensors15x6{k}(AllSensors15x6{k}(:)>0));
       MW_4x4{k}=mean(DistalSensors4x4{k}(DistalSensors4x4{k}(:)>0));
       
    STABW_Proximal{k} = std(ProximalSensors{k}(ProximalSensors{k}(:)>0));
     STABW_Middle{k} = std(MiddleSensors{k}(MiddleSensors{k}(:)>0));
      STABW_Distal{k} = std(DistalSensors{k}(DistalSensors{k}(:)>0));
       STABW_ALL15x6{k} = std(AllSensors15x6{k}(AllSensors15x6{k}(:)>0));
       STABW_4x4{k} = std(DistalSensors4x4{k}(DistalSensors4x4{k}(:)>0));
end

% AB HIER
% ---------------------------------------------------------------------------------------------------
% Erstellen einer zusammengefassten Tabelle aller Messdaten

 for k = 1:numfiles  
    TableData{k} = table(MaxDistal{1,k},MinDistal{1,k},MW_Distal{1,k},STABW_Distal{1,k},MaxMiddle{1,k},MinMiddle{1,k},MW_Middle{1,k},STABW_Middle{1,k},MaxProximal{1,k},MinProximal{1,k},MW_Proximal{1,k},STABW_Proximal{1,k},MaxALL15x6{1,k},MinALL15x6{1,k},MW_ALL15x6{1,k},STABW_ALL15x6{1,k},Max4x4{1,k},Min4x4{1,k},MW_4x4{1,k},STABW_4x4{1,k});
 end
 
 for k = 1:numfiles
     ArrayData{k}=table2array(TableData{k});
 end
 
for k = 1:numfiles
    FinalData{k}=transpose(ArrayData{1,k});
end


FinalData1 = transpose(FinalData);
M = zeros(20,k);
 
 % jetzt diese Matrix mit den FinalData arrays füllen sodass in jeder Zeile
 % ein ein Array steht
 
 
 
RowNames ={'MaxDistal';'MinDistal';'MW_Distal';'STABW_Distal';'MaxMiddle';'MinMiddle';'MW_Middle';'STABW_Middle';'MaxProximal';'MinProximal';'MW_Proximal';'STABW_Proximal';'MaxALL15x6';'MinALL15x6';'MW_ALL15x6';'STABW_ALL15x6';'Max4x4';'Min4x4';'MW_4x4';'STABW_4x4'};
Nr = {1:k};
%ALL = table(End,RowNames,Nr)

%writetable(ALL, 'TEST.xls')  

_________________

uiuiui
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.11.2019, 10:55     Titel:
  Antworten mit Zitat      
Hallo,

wenn ich die Frage richtig verstehe:

Code:
T = table( FinalData1{:} )


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Tjulk
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 28.11.19
Wohnort: Göttingen
Version: ---
     Beitrag Verfasst am: 29.11.2019, 11:24     Titel:
  Antworten mit Zitat      
Hi,

ja das passt schonmal, Vielen Dank!

Wie einfach es doch ist...

Und jetzt noch meine RowNames die ich unten definiert habe mit in die Tabelle so dass sie vorn Stehen und nicht hinten angereiht werden.
_________________

uiuiui
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.11.2019, 11:30     Titel:
  Antworten mit Zitat      
Hallo,

Code:
T = table( FinalData1{:}, 'RowNames', RowNames )


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Tjulk
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 28.11.19
Wohnort: Göttingen
Version: ---
     Beitrag Verfasst am: 29.11.2019, 11:51     Titel:
  Antworten mit Zitat      
Ich danke Dir !
_________________

uiuiui
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.