|
|
| a5466731 |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 28.09.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.09.2011, 13:06
Titel: Funktion im Textfluss
|
 |
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
|
|
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 28.09.2011, 15:29
Titel: Re: Funktion im Textfluss
|
 |
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
|
|
|
|
| a5466731 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 28.09.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.09.2011, 05:24
Titel:
|
 |
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
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|