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

Vektoren in Structs miteinander vergleichen und aufsummieren

 

StanPlo88
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 19.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2014, 20:25     Titel: Vektoren in Structs miteinander vergleichen und aufsummieren
  Antworten mit Zitat      
Servus!

Ich bin bei meinen Berechnungen mit Structs an die Grenzen meiner Kreativität angelagt und wollte mal nachfragen, ob hier vielleicht einer einen guten Ansatz für folgendes Problem hat.

Ich habe einen Datensatz mit Structs, anhand dessen ich gerne eine Lastgangkurve erstellen würde. Das heißt, ich habe Ladevorgänge aufgelöst nach 1 Sekunden schritten, die allesamt nicht gleich lang sind (mal 1 Stunde, mal 2 Stunden). Auf jeden fall habe ich immer die genaue Uhrzeit.
Nun wollte ich alle Ladevorgänge über einen Tag aufsummieren und hätte ja dadurch die kumulierte Leistung sämtlicher Ladevorgänge. Problem ist natürlich, dass die Uhrzeiten miteinander übereinstimmen sollten.
Mein Ansatz erfolgt über einen Datenum-Vergleich:

Code:

oneday=nan(1,86399);
chargingpower=zeros(1,86399);
for i=1:86399
    oneday(i)=i*1.1574e-05; %Erstellen eines Vektors mit Datenum-Werten für 0-24h
end

for i=1:size(data.events.event,2) %Anzahl der Structs in meinem Datensatz
    for j=1:86399 %Ein Tag in ein Sekunden Schritte aufgelöst
        for k=1:size(data.events.event(i).verbraucherdata.timestamp,1) %Größe des Vektors mit dem Ladevorgang
            if oneday(j)==datenum(double([0 0 0 data.events.event(i).verbraucherdata.timestamp(k,4:6)])) %Wenn Uhrzeit im Ladevorgang mit Uhrzeit des Tagesvektors übereinstimmt
                chargingpower(j)+data.events.event(i).verbraucherdata.current(k)*(data.events.event(i).verbraucherdata.voltage(k))/1000; %Addieren der Leistung
            end
        end
    end
end

 

Am Ende soll halt der kumulierte Leistungsbedarf für jede Sekunde eines Tages rauskommen...
Mir ist klar, dass es mit diesen Schleifen unglaublich Lange dauert, aber vom Prinzip her müsste das klappen. Insgesamt habe ich so um die 2000 Ladevorgänge.

Wenn jemand einen Rat hat, wie man es elegant lösen könnte wäre ich sehr dankbar.

Grüße

Stan
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 - 2025 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.