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

Format für timer-Callback gesucht

 

.Hans
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 01.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.01.2010, 19:27     Titel: Format für timer-Callback gesucht
  Antworten mit Zitat      
Hi Leute!
Folgender Code bereitet mir Kopfzerbrechen Shocked

Code:


function testit
t1 = timer('TimerFcn','Kaese','Period',1,'ExecutionMode','fixedspacing',...
    'TasksToExecute',10);
start(t1)

end

function Kaese
disp Hallo!
end
 



Weiß jemand, wie ich die TimerFcn richtig formatieren muss, damit die 2.Funktion im gleichen m-File aufgerufen wird?

[Mir ist bekannt, dass ich den disp-Befehl auch direkt in den timer reinschreiben kann, ich arbeite aber mit etwas größeren TimerFcn's, die ausgeführt werden sollen.]

Hans
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: 05.01.2010, 20:21     Titel:
  Antworten mit Zitat      
Hallo,

Schau mal hier:
http://www.mathworks.com/access/hel.....og/f9-39541.html#f9-42494

Kurzzusammenfassung: 3 Inputs, 0 Outputs.
Die Bedeutung der Inputs ist auch beschrieben bzw. verlinkt.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 01.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.01.2010, 20:34     Titel:
  Antworten mit Zitat      
Danke Harald.


Zitat:

http://www.mathworks.com/access/hel.....og/f9-39541.html#f9-42494


Zitat:

Kurzzusammenfassung: 3 Inputs, 0 Outputs.



Tut mir leid, aber ich kann damit nichts anfangen.
Mir geht es nicht darum eine Funktion zu schreiben, die der Timer ausführen kann, sondern darum, auf eine Funktion im gleichen m-file zu verweisen.
String oder nicht String? @-zeichen? irgendwelche Arrays vielleicht?
Private Nachricht senden Benutzer-Profile anzeigen
 
.Hans
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 01.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.01.2010, 21:18     Titel:
  Antworten mit Zitat      
Ok, so geht es, obwohl ich nicht weiß, was er von "obj" und "event" will.

Code:

function testit
t1 = timer('TimerFcn',@Kaese,'Period',1,'ExecutionMode','fixedspacing',...
    'TasksToExecute',10);
start(t1)

end

function Kaese(obj, event)
disp Hallo!
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: 05.01.2010, 21:28     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Mir geht es nicht darum eine Funktion zu schreiben, die der Timer ausführen kann, sondern darum, auf eine Funktion im gleichen m-file zu verweisen.


Wozu dann überhaupt den Timer?

Zitat:
was er von "obj" und "event" will.


Das steht in dem Link von vorhin ausführlich beschrieben. In den beiden Variablen sind zusätzliche Informationen zum Aufruf enthalten, die verwendet werden können, aber nicht müssen.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 01.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.01.2010, 22:11     Titel:
  Antworten mit Zitat      
Code:


function testit
t1 = timer('TimerFcn',@Kaese,'Period',1,'ExecutionMode','fixedspacing',...
    'TasksToExecute',10);
start(t1)

end

function Kaese(obj, event)
disp Hallo!
end
 


Dieser Code soll ja nur ein Beispiel sein. Timer und Funktion habe ich in einer kleinen GUI verbaut, dort brauche das Ding.

Zitat:

In den beiden Variablen sind zusätzliche Informationen zum Aufruf enthalten, die verwendet werden können, aber nicht müssen.


Wenn ich statt
Code:

function Kaese(obj, event)
 


diesen hier verwende:
Code:

spielt Matlab nicht mit, sondern spuckt

??? Error while evaluating TimerFcn for timer 'timer-1'
Too many input arguments.

aus. Insofern braucht er sie doch für irgendwas, aber dieses Geheimnis des helpdesks kann ich nicht lüften.
Grüße
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: 05.01.2010, 22:21     Titel:
  Antworten mit Zitat      
Hallo,

das Problem ist recht leicht nachzuvollziehen: Der Aufruf erfolgt immer mit diesen beiden Argumenten - so ist das Interface programmiert. Und wenn du eine Funktion, die keine Eingabeargumente annimmt, mit zweien aufrufst, gibt es einen Fehler - der ja auch recht aussagekräftig ist.

Was ich meinte, ist: man muss die Argumente zwar entgegennehmen, weil das Interface so programmiert ist, aber man muss sie intern nicht weiterverarbeiten, wenn man sie nicht braucht.

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.