WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Matrix in Matlab function aufrufen und auslesen

 

Gecko1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2016, 09:18     Titel: Matrix in Matlab function aufrufen und auslesen
  Antworten mit Zitat      
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

Forum-Century


Beiträge: 225
Anmeldedatum: 17.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 03.02.2016, 09:49     Titel:
  Antworten mit Zitat      
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ß
Private Nachricht senden Benutzer-Profile anzeigen
 
Gecko1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2016, 10:03     Titel:
  Antworten mit Zitat      
Hey,
danke für die Antwort. Ich hoffe ich habe es richtig hochgeladen.

Breitengrad_asm.mat
 Beschreibung:

Download
 Dateiname:  Breitengrad_asm.mat
 Dateigröße:  117.95 KB
 Heruntergeladen:  441 mal
Test_Model.slx
 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

Forum-Century


Beiträge: 225
Anmeldedatum: 17.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 03.02.2016, 11:35     Titel:
  Antworten mit Zitat      
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
Code:
function y = fcn(Breitengrad,index)
y=Breitengrad(index:end,1);
end


Test_Model.slx
 Beschreibung:
Test-Matrix 4x1

Download
 Dateiname:  Test_Model.slx
 Dateigröße:  24.95 KB
 Heruntergeladen:  380 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Gecko1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2016, 12:16     Titel:
  Antworten mit Zitat      
Hey,vielen Dank für deine Hilfe. Ich fummel mal weiter daran herum.
 
Gecko1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2016, 18:03     Titel:
  Antworten mit Zitat      
Gibt es auch die Möglichkeit y nicht mit variable-size zu verwenden?
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.