Kann nicht die Ausgabe von mehrdimensionalen matrix im Matlab-Funktion in Simulink
Ich habe zum Beispiel Funktion, die erstellt 2x2 matrix : [1 2; 3 4]
Ich habe eine solche einfache Funktion:
function[result] = Rho(x)
// I've tried and so:
result = [1 2; 3 4];
// And so:
result(1,1) = 1;
result(1,2) = 2;
result(2,1) = 3;
result(2,2) = 4;
Im Matlab-Fenster sehe ich rechts Ergebnis:
>> Rho(1)
ans =
1 2
3 4
Aber in Simulink bekomme ich immer [1;2;3;4]. Wo ist mein Fehler?
P. S. ich vergaß zu entfernen argument x der Funktion, denn in real-Funktion, die ich machen, die matrix, abhängig vom argument x. Aber es spielt nicht die Rolle in unserem Beispiel
InformationsquelleAutor Larry Cinnabar | 2011-04-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist wahrscheinlich durch die Einstellungen der parameter für Ihre MATLAB-Funktion-block (jetzt genannt Interpretiert MATLAB-Funktion-block in neueren Versionen). Werfen Sie einen Blick auf das Dialogfenster Parameter für diesen block:
Beachten Sie, dass Sie wollen, um die Ausgang Abmessungen zu 2 und deaktivieren Sie die Zusammenbruch 2-D Ergebnisse 1-D Kontrollkästchen. Wenn diese Links aktiviert, die dann Ihre 2-by-2 matrix wird verwandelt werden in ein 1D-array extrahieren von Werten entlang jeder Spalte von Links nach rechts, die enden, die oben
[1 3 2 4]
in deinem Beispiel.Sobald Sie die oben beschriebenen änderungen vorgenommen haben, dann alles, was Sie zu tun haben sollten, ist die Größe Ihrer Display sperren so, dass es zeigt Ihre 2 Zeilen und 2 Spalten.
InformationsquelleAutor gnovice