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

Funktion im Textfluss

 

a5466731
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 28.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.09.2011, 13:06     Titel: Funktion im Textfluss
  Antworten mit Zitat      
Hallo Leute,

ich habe ein Problem und komme nicht weiter.
Um meinen Quellcode besser zu strukturieren, möchte ich an eine Funktion eine andere übergeben, welche dann mehrfach ausgeführt werden soll, wobei der Rückgabeparameter überwacht wird.

Ich stelle mir das so vor: BEISPIEL!!!

function out = func1()
{
c=clock;
% sind die aktuellen Sekunden > 30?
out = c(6) > 30;
}
machwas(@func1,3)

jetzt kann ich in einer funktion allerdings nicht eine andere definieren.

Ich hätte es gerne in der Art kurz und knapp realisiert
ACHTUNG FALSCH!

func1 = @() {c=clock;c(6) > 30};
machwas(@func1,3)

Anonyme Funktionen können jedoch nicht mehr als eine Anweisung enthalten und schon garkeine Zuweisungen.

Hat jemand eine Idee, wie das schön lösbar wäre? Bin für jeden Tipp dankbar (außer Verweise auf google, da hab ich mich schon zu Tode gesucht)

Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 28.09.2011, 15:29     Titel: Re: Funktion im Textfluss
  Antworten mit Zitat      
Hallo a5466731,

Bitte benutze die Code-Umgebung, um Programm-Code zu formattieren. Das liest sich leichter.
Geschweifte Klammern zur Strukturierung des Codes sind C-Syntax. Für Matlab-Benutzer ist das verwirrend.

Zitat:
jetzt kann ich in einer funktion allerdings nicht eine andere definieren.

Doch, das kann man mit modernen Matlab-Versionen machen. Siehe "nested functions".
Zudem kann man auch Sub-Functions benutzen, also Funktionen, die im gleichen M-File stehen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
a5466731
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 28.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2011, 05:24     Titel:
  Antworten mit Zitat      
Hi Jan!

Du bist mein Held des Tages, nested function ist das Schlüsselwort, klappt wie gehofft in R2010b. DANKE!!!
Und noch Entschuldigung für die C-Syntax, wenn man's so gewohnt ist fallen Gedankenbeispiele meist so aus.

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