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

Werte in einen Vektor schreiben

 

Pippo
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 03.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2015, 14:06     Titel: Werte in einen Vektor schreiben
  Antworten mit Zitat      
Hallo
ich habe folgendes Problem. Ich habe als Input meiner Funktion Werte für I_PV und I_Last die jeweils 8740 Werte haben. Ich möchte in einem Funktionsblock einen Vektor erstellen, der die Energie in einem Batteriespeicher berechnet. Dafür soll der Startwert 1600 als Anfangswert gesetzt werden. Ich möchte einen Vektor k erstellen und ausgeben, der den zuletzt berechneten Wert nimmt und mit der aktuellen Spannung und dem aktuellen Strom berechnet. Irgendwie klappt das mit dem Code nicht.
vll wird mein Gedanke mit einem kurzen Beispiel deutlicher:
Wert 1=400
Wert 2=200
....
dann soll mein Vektor folgendermaßen aussehen.
Wert 0=1600
Wert 1=1200
Wert 2=1000
....usw.

Hoffe es kann mir jemand helfen.
Grüße
Code:

function y = Batteriespeicher(I_PV,I_Last,U_Bat)

I_Bat=0;
I_Netz=0;
k=zeros(8760,1);
k(1,1)=1600;
for i = 1:8760
    I_Bat=I_PV-I_Last;
    I_Netz=I_PV-I_Last-I_Bat;
    k(i) =k(i-1)+(I_Bat*U_Bat);
end

y=[I_Bat,I_Netz] ;
end
 
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.12.2015, 14:15     Titel:
  Antworten mit Zitat      
Hallo,

etwa so?
Code:
Werte1 = [400; 200]
Werte2 = 1600 - cumsum([0; Werte1])


Es wäre hilfreich, wenn du schreibst, wie du die Funktion aufrufst und welche Ergebnisse du erwartest.
Ein Problem in deinem Code ist, dass du k berechnest, aber nicht als Rückgabeargument definierst - somit verlierst du k.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Pippo
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 03.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2015, 14:38     Titel:
  Antworten mit Zitat      
ich habe in Simulink den I_PV und den I_Last berechnet. Diese haben 8760 Werte da sie für jede Stunde in einem Jahr berechnet werden. Diese zwei Werte gebe ich dann in einen Funktionsblock. In diesem Funktionsblock möchte ich den Strom ausrechnen der die Batterie lädt, bzw. entlädt. Um die Energie zum jeweiligen Zeitpunkt zu berechnen, möchte ich dass die Werte in einen Vektor k geschrieben und aufsummiert werden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.12.2015, 14:53     Titel:
  Antworten mit Zitat      
Hallo,

mit den Informationen kann ich leider wenig anfangen.
Stelle doch das Simulink-Modell zur Verfügung?
Welche Ergebnisse soll der Code liefern?
Mein Vorschlag liefert in deinem kleinen Beispiel das gewünschte, hilft er dir auch bei deiner echten Anwendung?

Ein größeres Problem habe ich dir ja schon genannt:
Zitat:
Ein Problem in deinem Code ist, dass du k berechnest, aber nicht als Rückgabeargument definierst - somit verlierst du k.


Grüße,
Harald
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.