|
|
Variabel im Matlab-Fcn Block - keine Größenänderung mögl |
|
|
Verfasst am: 09.06.2013, 23:23
Titel: Variabel im Matlab-Fcn Block - keine Größenänderung mögl
|
|
Hallo,
in einem Matlab-functionblock habe ich eine Matrix, die im Laufe der Simulation Zeilen dazugewinnen soll.
ungefähr so:
....(A & neu beide 1x2 )
folgende Fehlermeldung:
Size mismatch (size [1 x 2] ~= size [2 x 2]).
The size to the left is the size of the left-hand side of the assignment.
zuvor habe ich dann auch noch etwas in der Art
a wird vorher durch eine Schleife berechnet; (A soll die ersten Zeilen von B bis zeile a enthalten)
Fehlermeldung:
Dimension 1 is fixed on the left-hand side but varies on the right ([1 x 2] ~= [: ? x 2]).
Da das in Matlab funktioniert, nur nicht in Simulink, glaube ich jetzt, dass Simulink selbt in fcn Blöcken nicht mit Variablen klarkommt, die ihre Größe ändern. Ist das so?
Diese Variablen sind noch nicht einmal Signale die aus dem Block in die Simulation laufen, daher dachte ich, dass es so funktionieren müsste, aber was nun..?
|
|
|
|
|
cybbi |
Forum-Fortgeschrittener
|
|
Beiträge: 84
|
|
|
|
Anmeldedatum: 23.08.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: Alle
|
|
|
|
|
|
Verfasst am: 14.06.2013, 15:21
Titel:
|
|
In MATLAB Function Blöcken ist es so, dass diese in C-Code übersetzt werden. Es ist Natur eines (normalen) C-Codes, dass dieser relativ unflexibel auf dynamische Speichergrößen ist. Abhilfe gibts im Prinzip wie folgt:
- Speicher vorallokieren durch einen Befehl, der eine leere Matrix gleich am Anfang mit der schon richtigen Größe erzeugt: >> A = zeros(2,2);
- Schau dir in der Doku mal die Einträge zu coder.varsize an. Das hilft auch häufig, macht aber deine Simulation langsamer.
|
|
|
nochmotivierteranfänger |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 07.05.13
|
|
|
|
Wohnort: Kaiserslautern
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.06.2013, 07:39
Titel:
|
|
|
|
|
|
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.
|
|