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

Matlabfunction - Ablauf/Ausführung

 

Student100

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.10.2013, 10:04     Titel: Matlabfunction - Ablauf/Ausführung
  Antworten mit Zitat      
Hallo,

Ich habe ein Modell in Simulink- eine Batteriezelle und parallel dazu ein Schalter und einen Widerstand. Der Schalter soll durch meinen matlabfunction Block gesteuert werden. Problem ist, das sich die Funktion ständig aufruft und so meine Variablen die ich bei einer ganz bestimmten Zeit einmalig speichern will, ständig überschreibt.
Gibt es eine Möglichkeit/Funktionsblock, der sich wie ein Programm in c++ Verhält, also der nacheinander abgearbeitet wird und nicht alles überschreibt?

Ich habe meinen Quelltext mal angehängt.
Wäre schön, wenn ihr mir da helfen könntet Smile

Matlabfunction.doc
 Beschreibung:

Download
 Dateiname:  Matlabfunction.doc
 Dateigröße:  33.5 KB
 Heruntergeladen:  361 mal


knilumis_baltaM
Forum-Century

Forum-Century


Beiträge: 241
Anmeldedatum: 20.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.10.2013, 12:21     Titel:
  Antworten mit Zitat      
Erstelle dir ein Array (z.B. zeros[1,10]) und eine variable speicher_position . Jedes mal wenn du was gespeichert hast, erhöhst du die Variable. Am Ende kannst du das Array Auswerten (alles was größer 0 ist).
Private Nachricht senden Benutzer-Profile anzeigen
 
Student100

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.10.2013, 12:52     Titel:
  Antworten mit Zitat      
Hey vielen Dank schonmal für deine Antwort:)

Das was ich gerne möchte ist:
Es soll einmalig zu dem Zeitpunkt wenn a==10 ist die Spannung meiner Batterie (die sich ja über der Zeit verändert) in spg1 und die anderen Spannungen in spg2 und spg3 gespeichert werde. Mit den jetzt ja festen Werten soll dann Vdiff und Vmitt errechnet werden. Nur Vdiff und Vmitt ist dann irgendwie leider kein konstanter Wert, was ich ja möchte, sondern verändert sich wenn die Simulation weiter läuft, da spg1,spg2,spg3 immer wieder mit den aktuellen Spannungswerten überschrieben werden, obwohl ich ja eigentlich nur bei a==10 speicher.

Tut mir leid, dass ich das nicht richtig verstanden hab mit dem Array.
Wenn ich mir das ins Array speichern würde ändern sich spg doch immer noch und ich kann mir nur hinterher anschauen, welche Werte dort alle gespeichert wurden oder? Würd mich freuen, wenn du mir nochmal schreiben würdest.
 
knilumis_baltaM
Forum-Century

Forum-Century


Beiträge: 241
Anmeldedatum: 20.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.10.2013, 13:02     Titel:
  Antworten mit Zitat      
Wenn du wirklich einmal speichern willst, kannst du als unsaubere lösung mal folgendes versuchen.

Code:

persistent speichern ;
if isempt(speichern)
      speichern = 0;
end

[...]
%
if (a==10 && speichern ==0)
%alles speichern
[...]
speichern = 1;
end
 


so wird es nur einmal gespeichert.
Private Nachricht senden Benutzer-Profile anzeigen
 
Student100

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.10.2013, 13:59     Titel:
  Antworten mit Zitat      
Vielen vielen dank. Ich werds gleich ausprobieren Smile
 
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.