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

Zeit t in If-Bedingung einbinden

 

Thomas_Koschner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2009, 11:08     Titel: Zeit t in If-Bedingung einbinden
  Antworten mit Zitat      
Warum kann ich nicht in einer Bedingung die Zeit "t" mit einbinden und abhängig von Ihre Befehle ausführen?

Meine Simulationzeit beträgt 100 minuten.

Jetzt soll lange ein Befehl ausgeführt werden, wenn t < 20 ist. Kann mir dabei jemand helfen?


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 08.06.2009, 11:30     Titel:
  Antworten mit Zitat      
Moin,

geht es etwas genauer?! Was machst du? Wo kommt t vor, was soll passieren? Wenn es sich um eine ODE-Simulation handelt, so kannst du die Zeit selbstverständlich in der ODE-Funktion abfragen.

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
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 08.06.2009, 11:34     Titel:
  Antworten mit Zitat      
wenn die Simulation startet wird mit dem Befehl TIC die Zeit resetet. Nun sollst Du in der Bedingung die seit dem Befehl TIC verstrichene Zeit mit dem TOC abfragen und entsprechend darauf agieren:

Code:
tic
while toc < 3
   disp('3 Sekunden sind nocht nicht um...')
   pause(0.1)
end
disp('Jetzt aber! :)')



MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas_Koschner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2009, 12:12     Titel:
  Antworten mit Zitat      
Mein Model .mdl wird am Eingang mit einer Sprungfunktion beaufschlagt.
Den Final_value (Tem) ändere ich im m-File abhängig von der Zeit

Code:

Tem = [3 1.2, 6 1.9, 14 2.5];
anzahl = size(Tem);

for i=1:anzahl(1,1)
if (t<Tem(i,1))
step_final = Tem(i,2)
end
end

sim_time = Tem(anzahl(1,1),1)
[t,x,y] = sim('LSG',sim_time);
plot(t,y(:,2));
 


So war bisher meine Idee, aber er geht in die If-Bedingung nicht hinein.
Die Variable step_final verwende ich dann im Simulink-Block STEP.
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 08.06.2009, 14:12     Titel:
  Antworten mit Zitat      
Beispiel im Anhang


MfG

myfun.m
 Beschreibung:

Download
 Dateiname:  myfun.m
 Dateigröße:  2.57 KB
 Heruntergeladen:  449 mal
SimBeispiel.mdl
 Beschreibung:

Download
 Dateiname:  SimBeispiel.mdl
 Dateigröße:  20.84 KB
 Heruntergeladen:  449 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas_Koschner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2009, 14:53     Titel:
  Antworten mit Zitat      
hab ich irgendwas verstellt, oder warum kommt jetzt der fehler, das variable t undefiniert ist?
was muss ich machen, das t wieder gelesen werden kann?
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 08.06.2009, 14:59     Titel:
  Antworten mit Zitat      
Zitat:
hab ich irgendwas verstellt, oder warum kommt jetzt der fehler, das variable t undefiniert ist? was muss ich machen, das t wieder gelesen werden kann?


Du - Keine Ahnung was Du verstellst hast! Smile Ich würde sagen Du lädst die Dateien von hier erneut runter und vergleichst nach dem Unterschied.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas_Koschner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2009, 15:01     Titel:
  Antworten mit Zitat      
Nee, so meinte ich das nicht. Dein Programm funktioniert problemlos. Vielen Dank dafür, jetzt wollte ich das versuchen in meiner Anwendung umzusetzen.

Jedoch sagt er mir jetzt undefined variable t.
Vorhin habe ich noch auf t verglichen, da kam kein fehler...
 
Thomas_Koschner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.06.2009, 11:20     Titel:
  Antworten mit Zitat      
hab jetzt schon alles rumprobiert. hab bisschen in der simulation gespiel und im workspace, aber er t ist undefined variable...

gestern konte ich mit
Code:
noch drauf zugreifen und ansehen...
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 09.06.2009, 11:49     Titel:
  Antworten mit Zitat      
Hallo Thomas,

wir können Dir ohne weitere Angaben nicht helfen. Bitte stelle hier die (vereinfachten) Dateien zur Verfügung, die zur Reproduktion des Fehlers nötig sind. Vielleicht findest Du ja während der Vereinfachung selber noch etwas, das Du seit gestern verändert hast.

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Thomas_Koschner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.06.2009, 12:12     Titel:
  Antworten mit Zitat      
Hallo Bijick,

ich habe es kurz zusammengefasst. Ich hoffe alles notwendige ist enthalten.

vielen Dank!

test_03.mdl
 Beschreibung:

Download
 Dateiname:  test_03.mdl
 Dateigröße:  23.38 KB
 Heruntergeladen:  454 mal
M_03.m
 Beschreibung:

Download
 Dateiname:  M_03.m
 Dateigröße:  882 Bytes
 Heruntergeladen:  505 mal
 
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.