|
Astropeter |
Forum-Anfänger
|
|
Beiträge: 25
|
|
|
|
Anmeldedatum: 16.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.01.2019, 16:01
Titel: Complex signal mismatch
|
|
Hallo,
bei meiner Simulation gebe ich eine Matrix in eine Matlab Function, welche im Moment nichts anderes macht als die Eigenwerte dieser Matrix auszugeben. Der display Block zeigt, dass dies 3 reelle Zahlen sind. Doch wenn ich den Outport der Matlab Function in mein Subsystem einbinde, erhalte ich folgenden Fehler:
(wenn ich stattdessen Konstanten einbinde läuft es)
"Complex signal mismatch. Output 'Inertia_NEW' is a signal of numeric type complex. However, it is driving a signal of numeric type real."
Im Mathworks Forum habe ich nur genau die gegenteilige Meldung gefunden (real und complex vertauscht), doch das hat mir nicht weitergeholfen.
Hat da vielleicht irgendjemand eine Idee?
Vielen Dank im Voraus!
Astropeter
|
|
|
|
|
fabianT |
Forum-Fortgeschrittener
|
|
Beiträge: 84
|
|
|
|
Anmeldedatum: 31.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.01.2019, 19:30
Titel:
|
|
Hallo,
das ist so zu erwarten.
Der Datentyp des eig() Outputs ist erstmal komplex, auch wenn die berechneten Werte nicht komplex sind. Das siehst auch, wenn du dir die Port Datatypes anzeigen lässt (Display/Signals and Ports/Port Data Types). An dem Output des MATLAB Function Blocks siehst du ein "c" in Klammern...
Ich denke nicht, dass du dieses Verhalten ändern kannst, in der Doku steht nämlich bei Code Generation: Outputs are complex
Anschließend führst du das Signal in einen Block, der scheinbar nur reelle Zahlen kann, was zum Fehler führt. Vielleicht kannst du hier ansetzen.
Viele Grüße
Fabian
|
|
|
Astropeter |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 25
|
|
|
|
Anmeldedatum: 16.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.01.2019, 09:20
Titel:
|
|
Hallo,
danke für die Antwort. Habe verstanden was du meinst und das Problem gelöst. Ich musste nur den "Complex to Real-Imag" Block dazwischen klatschen und dann lief es. Hätte ich auch gleich drauf kommen können ^^
Gruß, Astropeter
|
|
|
|
|
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.
|
|