|
|
Vektorgröße in Matlab Funktions Block festlegen |
|
Raketenmaid |
Forum-Fortgeschrittener
|
|
Beiträge: 58
|
|
|
|
Anmeldedatum: 28.09.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.02.2013, 15:40
Titel: Vektorgröße in Matlab Funktions Block festlegen
|
|
Matlab/Simulink macht mir mal wieder Probleme, die ich nicht verstehe.
Ich möchte einen Vektor bzw. dessen Größe in einem Matlab Funktionsblock festlegen. Dies mache ich über die Funktion zeros
vektor = zeros(1,n)
n ist hierbei die Länge, die ich über einen Input Port einlese. Matlab macht nun beim Partsen lauter Sperenzchen:
Also nicht wirklich hilfreich.
Die direkte Methode, die sonst immer geht (vektor(1:n) = 0) geht leider auch nicht. Mpf!
|
|
|
|
|
Tobias.S |
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 15.02.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.02.2013, 20:17
Titel:
|
|
Hi,
Simulink unterstützt keine veränderlichen Vektorlängen. Du musst quasi eine konstante Vektorlänge einstellen. Unter Umständen nutzt du dann nur den Teil, der von 1:n geht.
Gruß Tobias
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.02.2013, 07:20
Titel:
|
|
Willst du die Vektorgröße zur Laufzeit ändern oder nur vor Simulationsbeginn einfach änderbar lassen?
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 19.02.2013, 08:22
Titel:
|
|
Ich habe folgendes mehrfach per PN an "Raketenmaid" verschicken wollen, aber es bleibt immer im Postausgang. Daher packe ich es in diesen Thread, sorry:
Zitat: |
Hallo Raketenmaid, nicht nur die aktuelle Frage, sondern auch die vergangenen Fragestellungen lassen mich vermuten dass es hier um eine Masterarbeit in der Automobilindustrie geht. Wie ist den die Betreuung geregelt, bzw. die Zusammenarbeit mit MathWorks? Nutzen Sie den Technischen Support oder andere MathWorks Ressourcen?
|
Andreas
|
|
|
Raketenmaid |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 58
|
|
|
|
Anmeldedatum: 28.09.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.02.2013, 11:12
Titel:
|
|
|
|
|
Die Vektorgröße ist zu Beginn der Simulation festgelegt, also wird sie im Laufe einer Simulation nicht geändert. Aber sie kann halt von einer Simulation zur anderen variieren.
Mittlerweile habe ich eine Lösung gefunden, die das Problem behebt, die aber alles andere als elegant ist. Warum ich nicht direkt die zeros-Funktion mit einer übergebenen Dimension verwenden kann, weiß der Teufel.
Der Code schaut jetzt wie folgt aus:
Eigentlich wollte ich die Zeilenanzahl von der so-Matrix (Variable nt) direkt übergeben (sie wäre dann als eigenständige Variable in der Übergabeklammer der ersten Zeile erschienen) und in der zweiten Zeile (zeros) verwenden, weil diese vor Starten der Simulation bekannt ist. Aus einem mir absolut unverstandlichen Grund lässt dies Simulink nicht zu. Vermutlich sollte ich tatsächlich den Support von MathWorks kontaktieren, weil ich mittlerweile eine Art Bug vermute oder eine Inkonsistenz oder wie auch immer man das nennen will.
Ein Kollege fand das Verhalten von Simulink an dieser Stelle auch nicht nachvollziehbar.
Mein ursprünglicher Code sah so aus:
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.02.2013, 11:26
Titel:
|
|
Versuch mal folgendes:
Im Matlab function Block bei "Tools -> Edit Data/Ports" und dort deine Eingangsvariable "n" als Parameter setzen (standard ist Input Port). Der variable n kannst du dann in m-file bzw. matlab console die gwünschte Größe zuweisen. So sollte die zuweisung vektor = zeros(1,n) im Matlab Function Block gehen.
Vielleicht ist es das was du benötigst.
|
|
|
|
|
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.
|
|