|
hassel |

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 11.11.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.02.2016, 14:48
Titel: Funktionsauswahl
|
 |
Hallo,
ich denke, meine Frage stellt für die meisten keine große Herausforderung dar, aber mir fällt keine Lösung dafür ein.
Ich habe ein Skript, in dem mehrere Funktionen ausgewählt und aufgerufen werden können. Derzeit wähle ich die aufzurufenden Funktionen, indem ich sie auskommentiere oder eben nicht. Da dies ein gewisses Risiko (für andere Anwender) darstellt (z.B. durch falsches auskommentieren), möchte ich es vereinfachen. D.h. ich möchte zu Beginn des Skriptes auswählen können, welche Funktion ausgewählt, und welche ignoriert werden soll.
Beispiel:
Im Skript habe ich 2 Unterschiedliche Funktionen, bei denen es jeweils zwei Möglichkeiten gibt.
F1a
F1b
F2a
F2b
Jetzt soll der Anwender zu Beginn wählen können, welche Funktionen aktiviert werden (jeweils ENTWEDER a oder b oder keine). Nur die gewählten Funktionen sollen dann im Hauptskript ausgeführt werden.
Wie mache ich sowas am einfachsten?
Herzlichen Dank!
Gruß, Marc
|
|
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 23.02.2016, 15:16
Titel:
|
 |
Hallo,
das wäre eine Möglichkeit:
|
|
|
hassel |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 11.11.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.02.2016, 15:27
Titel:
|
 |
Hi,
vielen Dank für deine schnelle Antwort.
Wenn ich das richtig verstehe, kann ich nur zwischen case 1-4 wählen. Es ist aber der Fall, dass mehrere Funktionen gleichzeitig gesetzt werden.
Z.B. F1a und F2a oder F1a und F2b.
Der Anwender soll beliebige Kombinationen wählen können.
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 23.02.2016, 15:31
Titel:
|
 |
Dann bliebe bei meinem Vorschlag nur der Weg, alle möglichen Kombinationen bei functionNames anzugeben und entsprechend die cases hinzuzufügen.
|
|
|
hassel |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 11.11.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.02.2016, 15:36
Titel:
|
 |
Ich habe es gerade versucht und habe ein weiteres Problem entdeckt. Das habe ich leider nicht ausführlich erläutert. Und zwar werden die Daten von einem anderen Tool übertragen und die Funktionen für jedes Datenpaket ausgeführt. Ich müsste also für jedes Datenpaket die entsprechende Funktion wählen und das ist aufgrund der Häufigkeit der Datenpakete nicht möglich.
Trotzdem vielen Dank!
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 23.02.2016, 15:46
Titel:
|
 |
hassel hat Folgendes geschrieben: |
Und zwar werden die Daten von einem anderen Tool übertragen und die Funktionen für jedes Datenpaket ausgeführt. |
Jetzt verwirrst du mich. Wählt nun der User die Funktion oder das Datenpaket? Beides geht ja wohl nicht. Ohne zu wissen wie der "Rest" deines Programms aussieht, wird es wohl schwierig sein dir zu helfen.
|
|
|
hassel |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 11.11.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.02.2016, 16:20
Titel:
|
 |
Ok, entschuldige bitte.
Also ich übertrage Daten von einem Tool zu Matlab. Jedes Paket soll dabei durch verschiedene Funktionen verändert werden, quasi eine Art Online-Simulation. Vor der Ausführung soll nun zwischen den verschiedenen Funktionen gewählt werden, je nachdem, wie die Daten bearbeitet werden müssen (z.B. einmal nur F1a, einmal F1a und F2a, ...).
Ich habe es im Moment so gelöst, dass ich ein zusätzliches File ausführe, wo man von Hand auswählt, welche Funktionen ausgeführt werden sollen (z.B. F1a = 1 und F2b = 1) und diese in meiner Main Function über eine if-Schleife abfrage. Ich wollte es allerdings umgehen, dass bei jedem Datenpaket zuerst die gewählte Funktion abgefragt werden muss (if-Anweisung verlangsamen das ganze ja).
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 23.02.2016, 17:23
Titel:
|
 |
Ehrlich gesagt verstehe ich es immer noch nicht besser. Wozu überhaupt die Trennung in Funktionen? Warum wird die Bearbeitung der Daten nicht in einer Funktion gemacht, wobei irgendein Parameter steuert, welcher Bearbeitungsweg genommen werden soll?
Also entweder postest du mal den relevanten Code/Aufbau oder ich persönlich kann dir nicht mehr weiterhelfen. Deine Aussagen sind einfach zu ungenau.
Zitat: |
Ich habe es im Moment so gelöst, dass ich ein zusätzliches File ausführe, wo man von Hand auswählt, welche Funktionen ausgeführt werden sollen (z.B. F1a = 1 und F2b = 1) und diese in meiner Main Function über eine if-Schleife abfrage |
Warum ist das Auswahlen nicht auch im Main? Ich kenne deinen Programmaufbau nicht und raten ist hier zwecklos.
Zitat: |
(if-Anweisung verlangsamen das ganze ja). |
Sicherlich kostet eine if-Anweisung Ausführungszeit, aber solange die Prüfung der Bedingung nicht komplex ist, ist die Ausführungszeit vernachlässigbar.
|
|
|
|
|
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.
|
|