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

FUnktionsnamen von Benutzereingabe

 

Tex
Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 12.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.02.2010, 10:02     Titel: FUnktionsnamen von Benutzereingabe
  Antworten mit Zitat      
Servus,

kleines Szenario: Ein Benutzer benutzt unser Programm in dem aufgenommene Signale dargestellt werden und in dem die Signale mit Hilfe von Markern ausgewertet werden.
Dem Benutzer reichen die Auswertemöglichkeiten aber nicht und er schreibt eine eigene Auswertefunktion. Um die einzubinden möchte ich ihn aber nicht in unsere, Programm rumbasteln lassen. Statt dessen soll er über die GUI den Namen der m.File (und der darin enthaltenen Funktion) eingeben, welche dann von meinem Programm aufgerufen wird und somit die vom Nutzer gewünschten Auswertungen vor nimmt.

Meine Frage ist also wie komm ich vom eingegebenen String zu einem Funktionsauffruf einer Funktion mit diesem Namen.

Ich weiß das ist programmiertechnisch nicht sauber, aber es geht nciht anders da ich schlecht alle Möglichkeiten der Signalauswertung vorgeben kann.

Grüße Tex
Private Nachricht senden Benutzer-Profile anzeigen


LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.02.2010, 10:48     Titel:
  Antworten mit Zitat      
Hallo,

mit str2func kannst Du Dir aus einem String ein Handle auf die Funktion erzeugen lassen und darüber dann auch die Funktion aufrufen.

Code:

f = str2func('myfoo');
 


Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
Tex
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 12.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.03.2010, 14:13     Titel: function handle und Übergaben
  Antworten mit Zitat      
Okay soweit sogut. aber wie dann weiter?

aber wie rufe ich die Funktion dann auf, wenn sie in einem anderen M-File steht mit dem selben Name?

Und wie mach ich das mit den Parametern, die übergeben werden?

am ende soll es das selbe tun als wenn ich
Code:

[a,b] = myfoo(a,b)
 


in den Quelltest schreiben wuerde. Wobei ich nicht weiß was die Funktion macht ich weiß nur das a und b verändert werden.

Grüße
TEx
Private Nachricht senden Benutzer-Profile anzeigen
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.03.2010, 14:22     Titel:
  Antworten mit Zitat      
Sobald Du eine function handle hast, kannst Du die Funktion ja darüber aufrufen. Du kannst genauso Parameter übergeben und Werte zurückbekommen:
Code:

f = str2func('sin');
x1 = f(1)
x2 = sin(1)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Tex
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 12.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2010, 11:53     Titel:
  Antworten mit Zitat      
Danke,

Ich hab so ein Brett vorm Kopp. Jetzt funktioniert es.
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.