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

for-Schleife mit struct

 

agentj

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.05.2008, 16:49     Titel: for-Schleife mit struct
  Antworten mit Zitat      
Ich habe eine struct Container, der sechs doubles enthält. Code wie folgt:
Sectors=struct('Sector1',Sector1,'Sector2',Sector2,'Sector3',Sector3,'Sector4',Sector4,'Sector5',Sector5,'Sector6',Sector6);

Jeder der einzelnen Sektor dobiules besteht aus einer Spalte mit jeweils 10 bis 30 zeilen. Ich möchte nun eine for schleife haben die von allen Sektoren der Sectors-Strukturvariable Mittelwert, Median, Standarabweicung und Varianz berechnet.

Wie könnte diese aussehen?
Ich wäre sehr dankbar für eure Antworten, da es sehr dringend ist!
Danke =)

Doppel-Posts bitte vermeiden, auch wenn es dringend ist Wink
mfg nschlange


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 19.05.2008, 17:07     Titel:
  Antworten mit Zitat      
Moin,

ich würd statt structs in dem Fall cells nehmen und dann folgendes probieren:
Code:

sectors.mean = cellfun(@mean,Sectors_cell);
sectors.median = cellfun(@median,Sectors_cell);
sectors.std = cellfun(@std,Sectors_cell);
sectors.var = cellfun(@var,Sectors_cell);
 

Schau mal ob das so funktioniert...

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
agentj

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.05.2008, 17:18     Titel:
  Antworten mit Zitat      
steve hat Folgendes geschrieben:
Moin,

ich würd statt structs in dem Fall cells nehmen und dann folgendes probieren:
Code:

sectors.mean = cellfun(@mean,Sectors_cell);
sectors.median = cellfun(@median,Sectors_cell);
sectors.std = cellfun(@std,Sectors_cell);
sectors.var = cellfun(@var,Sectors_cell);
 

Schau mal ob das so funktioniert...

Gruß
Alex


und wie definiere ich den cells array

Sectors=cell(?)?
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 19.05.2008, 17:18     Titel:
  Antworten mit Zitat      
Ich ergänze mal steves Vorschlag um
Code:
: Cool
Code:
clear all; clc;

Sectors=struct('Sector1',rand(30,1),'Sector2',rand(29,1));%...

Sectors_cell=struct2cell(Sectors);

Sectors.mean = cellfun(@mean,Sectors_cell);
Sectors.median = cellfun(@median,Sectors_cell);
Sectors.std = cellfun(@std,Sectors_cell);
Sectors.var = cellfun(@var,Sectors_cell);

Sectors.mean
Sectors.median
Sectors.std
Sectors.var

_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
agentj

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.05.2008, 17:19     Titel:
  Antworten mit Zitat      
agentj hat Folgendes geschrieben:
steve hat Folgendes geschrieben:
Moin,

ich würd statt structs in dem Fall cells nehmen und dann folgendes probieren:
Code:

sectors.mean = cellfun(@mean,Sectors_cell);
sectors.median = cellfun(@median,Sectors_cell);
sectors.std = cellfun(@std,Sectors_cell);
sectors.var = cellfun(@var,Sectors_cell);
 

Schau mal ob das so funktioniert...

Gruß
Alex


und wie definiere ich den cells array

Sectors=cell(?)?

Ichhab halt vorher aus einem Vektor mittels einer ID 6 Sektoren gemacht, die ich mit Hilfe von unique aufgesplittet hab:

Code:
% Sortieren der HPR's nach Sektoren
HPR_SIC= [HPR Daten(:,6)]; % Zuordnung der SIC zum jeweiligen HPR
id=HPR_SIC (:,2);
uniqueId=unique(id);
is1=id==uniqueId(1);
is2=id==uniqueId(2);
is3=id==uniqueId(3);
is4=id==uniqueId(4);
is5=id==uniqueId(5);
is6=id==uniqueId(6);
Sector1=HPR_SIC(is1,:);
Sector2=HPR_SIC(is2,:);
Sector3=HPR_SIC(is3,:);
Sector4=HPR_SIC(is4,:);
Sector5=HPR_SIC(is5,:);
Sector6=HPR_SIC(is6,:);


Bitte die Code-Umgebung benutzen, der Knopf oben in der Mitte.
mfg nschlange
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 19.05.2008, 17:26     Titel:
  Antworten mit Zitat      
Danke nschlange Wink

Es sind halt immer die Kleinigkeiten Rolling Eyes
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
agentj

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.05.2008, 17:26     Titel:
  Antworten mit Zitat      
nschlange hat Folgendes geschrieben:
Ich ergänze mal steves Vorschlag um
Code:
: Cool
Code:
clear all; clc;

Sectors=struct('Sector1',rand(30,1),'Sector2',rand(29,1));%...

Sectors_cell=struct2cell(Sectors);

Sectors.mean = cellfun(@mean,Sectors_cell);
Sectors.median = cellfun(@median,Sectors_cell);
Sectors.std = cellfun(@std,Sectors_cell);
Sectors.var = cellfun(@var,Sectors_cell);

Sectors.mean
Sectors.median
Sectors.std
Sectors.var


wahinsinn naschlange. Danke dir!!! Wie kann ich jetzt noch einen Code anfügen, der die MIttelwerte, Median etc. in einen Vektor schreibt?
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 19.05.2008, 17:32     Titel:
  Antworten mit Zitat      
so z.B.:
Code:
mittelwert=Sectors.mean
mittenwert=Sectors.median
stdabw=Sectors.std
varianz=Sectors.var
alleineinem=[mittelwert mittenwert stdabw varianz]

Aber warum nicht in der struct lassen?
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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.