|
gast2345 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.09.2009, 18:49
Titel: Signal routing
|
|
|
|
|
Hallo,
ein wahrscheinlich sehr einfaches Problem, aber ich habe es noch nicht zufriedenstellend gelöst:
Ich habe ein Subsystem gebaut, bei dem man via Parameter eine Gleichung wählen kann, mit der intern gerechnet wird.
Diese 2 Gleichungen sind beides selbst subsysteme in diesem Subsystem und bekommen eine Reihe von Eingabewerten.
Ich möchte nun, daß je nach Auwahl (1 oder 2) nur genau dieser Block berechnet wird.
Im Moment habe ich es folgendermaßen gelöst:
Ich habe einen Switch, der das Eingangssignal (im Port2) auf 1 oder größer 1 überprüft. Je nach Wahl wird dann der jeweilige Eingang (1 == formel1 bzw. 3 == formel2) durchgeschalten.
Was mir dabei nicht gefällt ist, daß hierbei bei jedem Schritt beide Blöcke gerechnet werden und dann immer nur einer durchgelassen wird, was eine Verschwendung von Rechenzeit nach sich zieht.
Wie kann ich das besser lösen, so dass die eigtl Rechnung nur nach Auswahl erfolgt? (nur mit std.-blöcken, keine S-Functions oder sonstigen ineffizienten Code)
|
|
|
|
|
Tim |
Forum-Century
|
|
Beiträge: 140
|
|
|
|
Anmeldedatum: 03.11.07
|
|
|
|
Wohnort: Stuttgart
|
|
|
|
Version: 2011b+aktuellstes Release
|
|
|
|
|
|
Verfasst am: 22.09.2009, 09:51
Titel:
|
|
Beide Subsysteme als "enabled subsystem" implementieren, über einen Vergleich (==1 bzw. ==2) das gewünschte aktivieren und den (die) Ausgang (Ausgänge) mit einem Merge-Block zusammenführen. Falls die Subsysteme state haben wäre es vielleicht sinnvoll die enabled Subsysteme mit "reset"-Semantik zu wählen (gegenüber "held"-Semantik), auswählbar über den enable-Block im Subsystem.
|
|
|
evil1202 |
Forum-Anfänger
|
|
Beiträge: 48
|
|
|
|
Anmeldedatum: 12.08.09
|
|
|
|
Wohnort: Erfurt
|
|
|
|
Version: 2007 b
|
|
|
|
|
|
Verfasst am: 13.10.2009, 11:39
Titel:
|
|
und wie funktioniert das in Simulink???
|
|
|
|
|
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 - 2024
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.
|
|