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

Alle 96 Werte die Summe bilden und speichern

 

Freddy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2012, 13:02     Titel: Alle 96 Werte die Summe bilden und speichern
  Antworten mit Zitat      
Guten Tag liebe Leute,

vorab schonmal Danke schön für die Antworten. Ich stehe momentan komplett auf dem Schlauch Mad.

Ich habe eine Tabelle mit 35040 Werten. Das sind 15-Minuten-Mittelwerte über ein ganzes Jahr (24h*365d*4). Ich habe also alle 15 Minuten einen Wert. Ich möchte nun diese Werte irgendwie addieren, sodass ich auf 365 Tage oder 8760 h komme. Ich muss also alle 96 (24*4) Werte die Summe bilden um auf 365 zu kommen bzw. alle 4 Werte um auf 8760 h zu kommen.

Ich kriegs nicht hin^^, wobei ich glaube, dass es gar nciht so schwierig ist, jedoch hab ich im Moment leider keine Idee. Ebenso hab ich keine Idee wie ich dann die zusammengefassten werte in ein Array hineinzwängen kann, welches dann [365x1] groß ist.7

Ich hoffe, hier ist ein schlauer Kopf, der mir helfen kann Wink

Viele Grüße und Danke,

Freddy


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 15.02.2012, 13:18     Titel:
  Antworten mit Zitat      
Code:
for
s=zeros(365,1)
k=1:365
s(k)=sum(m(k-1)*96+1:k*96)
end

das könnte klappen. kannst ja mal versuchen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Freddy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2012, 13:32     Titel:
  Antworten mit Zitat      
Ich bin dafür glaube ich einfach zu hohl Very Happy

von wo bis wo muss ich die for-schleife laufen lassen? doch von 1-35040 oder? er will es einfach nicht tun
 
Freddy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2012, 14:16     Titel:
  Antworten mit Zitat      
So, als Information habe ich vllt. vergessen zu sagen, das ich kW werte zu einer stunde addieren will, also kWh-werte bekommen möchte.

ich glaube, dass ich das Problem gelöst habe

habe geschaut, das in eine Stunde 4 Werte passen und dann mit mean(reshape(data, 4, [])) in 8760 h eingeteilt dann sind ja kW und kWh identisch, also in der einen Stunde wurden ...kW benötigt, oder sehe ich das falsch? und dann habe ich mean(reshape(data, 96,[])) ausgeführt und habe jetzt 365 werte mit anderen zahlen, ob diese richtig sind weiß ich noch nicht, da ich nicht genau kapiere wie mean(reshape()) funktioniert. Ich habs nur aus diesem forum kopiert und es klappte Very Happy

kann mir das kurz jemand vllt. erläutern?
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 15.02.2012, 14:18     Titel:
  Antworten mit Zitat      
Hallo

da war Winkow etwas in Eile
so hat er das gemeint,
Code:

s=zeros(365,1)
for  k=1:365
s(k) = sum(m((k-1)*96+1:k*96))
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
soad
Forum-Century

Forum-Century


Beiträge: 150
Anmeldedatum: 10.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2012, 14:19     Titel:
  Antworten mit Zitat      
Wie sind die Werte in der Tabelle gegeben?

Eine Möglichkeit wäre den Ausgangsvektor entsprechend zu gruppieren und aufzusummieren:
Code:
X = rand(1,  35040); % 1x35040
Y = reshape(X, 96, []); % 96x365
Y = sum(Y);  % 1x365


edit: hab deinen Beitrag zu spät gesehen
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 15.02.2012, 14:29     Titel:
  Antworten mit Zitat      
Hallo

das mit RESHAPE sollte richtig sein. Hier umformt RESHAPE einen Vektor zu Matrix, dabei gibt 96 , dass die Matrix aus 96 Zeilen bestehen soll, Anzahl der Spalten werden automatisch berechnet.(Anzahl der Elemente muss aber Teilbar sein). 35040/96 ergibt 365 Tage.
MEAN berechnet einen Mittelwert für jeden Tag. Aber du hast ja nichts darüber gefragt, da klangt alles mehr nach Summe

Zuletzt bearbeitet von denny am 15.02.2012, 14:35, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Freddy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2012, 14:32     Titel:
  Antworten mit Zitat      
ihr seid die besten, heute abend meld ich mich hier an Very Happy

habs jetzt selbst heruasgefunden sum(reshape()) ist richtig, weil ich ja gar nicht den mittelwert haben möchte, er soll ja die kWh am tag aufsummieren

vielen dank
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 15.02.2012, 14:51     Titel:
  Antworten mit Zitat      
@ denny
stimmt da is mit in der eile ein tipfehler unterlaufen Smile
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.