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

Complex signal mismatch

 

Astropeter
Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 16.10.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2019, 16:01     Titel: Complex signal mismatch
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen


fabianT
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 84
Anmeldedatum: 31.10.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2019, 19:30     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Astropeter
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 16.10.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2019, 09:20     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
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.