|
|
Matlab Function Block - variabler Vektor bzw. Matrix output |
|
Hausmeister |
Forum-Anfänger
|
|
Beiträge: 22
|
|
|
|
Anmeldedatum: 01.12.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.12.2014, 13:25
Titel: Matlab Function Block - variabler Vektor bzw. Matrix output
|
|
Hallo,
ich hab mal eine Frage bezüglich des Matlab function Blocks. Ich habe in diesem folgenden Code stehen:
Es gibt jedes mal die Fehlermeldung:
Output 'y' (#95) has variable size but the upper bound is not specified;
explicit upper bound must be provided.
Ich habe jedoch innerhalb des Ports u. Data Manger den output y auf "variable size" gesetzt. Wo liegt mein Fehler bzw. wie geht man bei einem MFB grundlegend vor, wenn sich die Größe des Ausgangsignal in Abhängigkeit des Eingangsignals ändern kann.
Vielen Dank!
Hausmeister
|
|
|
|
|
Ingwertee |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.12.2014, 14:06
Titel:
|
|
u ist für Simulink eine Matrix [n,2], wo der erste Spalte die Zeit, die zweite Spalte der Wert ist.
Die allgemeine Ausgabe y hat die selbe gestallt wie u.
Was du mit deiner Funktion nun machst, ist dass du zu jedem Iterationsschritt u Spalten zu y hinzufügtst. ich schätze mal, das mag Matlab nicht.
Versuche doch mal folgendes:
kurzes suchen ergab:
Bezüglich der "variablen size" schau mal auf: About Variable-Size Signals
Zitat: |
A Simulink variable-size signal is a signal whose size (the number of elements in a dimension), in addition to its values, can change during a model simulation. However, during a simulation, the number of dimensions cannot change. This capability allows you to model systems with varying resources, constraints, and environments. |
das Zitat erklärt besser, was ich oben gemeint habe. Du kannst zwar die Länge (Zeilen) ändern, aber nicht die Dimension (Spaltenanzahl).
|
|
|
Hausmeister |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 22
|
|
|
|
Anmeldedatum: 01.12.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.12.2014, 14:53
Titel:
|
|
Nope. Geht nicht. Immer noch die gleiche Fehlermeldung. Was mache ich eigentlich mit assert bzw. für was genau benötige ich das? Irgendwie muss ich ja für y und u eine Schranke vorgeben. Jedoch gebe ich momentan für y keine vor. Danke. Vielleicht hast ja noch eine Idee.
Grüße
Hausmeister
|
|
|
Ingwertee |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.12.2014, 07:12
Titel:
|
|
Hausmeister hat Folgendes geschrieben: |
Was mache ich eigentlich mit assert bzw. für was genau benötige ich das? Irgendwie muss ich ja für y und u eine Schranke vorgeben. Jedoch gebe ich momentan für y keine vor. |
wenn du nicht weißt wass assert bedeutet, warum schreibst du es in deinen Code? Mit Schranke verstehe ich nicht, wass du meinst.
Um eine einfach Funktion mit Ausgabe zu erzeugen, reicht es vollkommen aus, wenn du folgende funktion nimmst:
|
|
|
|
|
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.
|
|