|
|
Matrix in Matlab function aufrufen und auslesen |
|
Gecko1234 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.02.2016, 09:18
Titel: Matrix in Matlab function aufrufen und auslesen
|
|
Hallo zusammen,
habe eine kleine Frage zum Matlab-function- Block. Ich möchte gerne eine Matrix an aus dem Workspace aufrufen und auslesen. Als Eingang habe ich den Index, welcher sich während der simulation ändert. Bis jetzt sieht mein Code also so aus:
function y = fcn( Matrix, index)
y = Matrix(index:end,1);
Die Matrix aufzurufen klappt wunderbar und auch wenn ich für den Index zB. 5 eingebe funktioniert es.
Wenn der Index am Eingang jedoch ein Constant Block ist, bekomme ich immer diese Fehlermeldung:
Data 'y' is inferred as a variable size matrix, while its specified
type is something else.
Ich verstehe noch nicht ganz, was genau das Problem ist. Habe schon sämtliche Foren durchsucht und komme mit den Tipps einfach nicht weiter.
Freue mich über eine Antwort.
|
|
|
|
|
Friidayy |
Forum-Century
|
|
Beiträge: 225
|
|
|
|
Anmeldedatum: 17.12.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 03.02.2016, 09:49
Titel:
|
|
Kannst du ein Test-Simulink Modell hochladen, welches nur das wesentliche Problem enthält?
Ich vermute, dass dein Constand-Block als Eingang für die Matrix interpretiert wird.
Gruß
|
|
|
Gecko1234 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.02.2016, 10:03
Titel:
|
|
Hey,
danke für die Antwort. Ich hoffe ich habe es richtig hochgeladen.
Beschreibung: |
|
Download |
Dateiname: |
Breitengrad_asm.mat |
Dateigröße: |
117.95 KB |
Heruntergeladen: |
441 mal |
Beschreibung: |
function y = fcn( Breitengrad, index) %#codegen
y = Breitengrad(index:end,1); |
|
Download |
Dateiname: |
Test_Model.slx |
Dateigröße: |
16.9 KB |
Heruntergeladen: |
421 mal |
|
|
|
Friidayy |
Forum-Century
|
|
Beiträge: 225
|
|
|
|
Anmeldedatum: 17.12.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 03.02.2016, 11:35
Titel:
|
|
Hallo Gecky,
wie erwartet, hast du deinem Matlab-Function Block nur den Index übergeben, die FUnktion erwartet von dir aber als Inputs eine Matrix und einen Input. DAs war aber nicht das Problem, ich hab versucht an einer Lösung zu arbeiten, komm aber selber imom nicht weiter, wahrs. wirst du selber versuchen müssen nach einer Lösung zu googlen. Problem wird sein, die Matrix aus dem Workspace an die Funktion zu übergeben. Hier mein aktuelles Modell.
Gruß
Matlab-Funktion
Beschreibung: |
|
Download |
Dateiname: |
Test_Model.slx |
Dateigröße: |
24.95 KB |
Heruntergeladen: |
380 mal |
|
|
|
Gecko1234 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.02.2016, 12:16
Titel:
|
|
Hey,vielen Dank für deine Hilfe. Ich fummel mal weiter daran herum.
|
|
|
Gecko1234 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.02.2016, 18:03
Titel:
|
|
Gibt es auch die Möglichkeit y nicht mit variable-size zu verwenden?
|
|
|
|
|
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.
|
|