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

was gibt get_param zurück?

 

NFTVirus
Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2011, 14:48     Titel: was gibt get_param zurück?
  Antworten mit Zitat      
Hallo,

ich habe ein Problem mit get_param in einer Embedded Matlab Funktion in SIMULINK.
Mein Code sieht wie folgt aus:
Code:
IMPULSZEIT1 = 0;
eml.extrinsic('get_param');
IMPULSZEIT1 = get_param('Orbit3dHohmanntransferTEST/Erster','Time');


Somit bekomme ich allerdings die Fehlermeldung:

Embedded MATLAB Interface Error: Class of MATLAB expression 'get_param' is char; expected double.

Ich habe IMPULSZEIT1 extra mit =0 als Double Deklariert, da sonst diese:

Expected either a logical, char, int, fi, single, or double. Found a MATLAB type. MATLAB types are returned from calls to the MATLAB interpreter and are not supported inside expressions. They may be used on the right-hand side of assignments and as arguments to MATLAB calls.

Fehlermeldung auftritt. Sind die Werte die get_param ausgibt nun chars???? So unter Matlab funtioniert das Problemlos im embedded Matlab aber nicht. Hat jemand eine Lösung?


Gruß

NFTVirus
Private Nachricht senden Benutzer-Profile anzeigen


NFTVirus
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2011, 15:27     Titel:
  Antworten mit Zitat      
Habe jetzt herausgefunden dass ich wirklich mein Ergebnis als char ausgegeben kriege. Kann ich das irgendwie in double convertieren?
Private Nachricht senden Benutzer-Profile anzeigen
 
NFTVirus
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2011, 15:41     Titel:
  Antworten mit Zitat      
So, Problem selber gelöst vielleicht hift es ja dem einen oder anderen.

man muss zusätzlich die Funktion str2doubl, oder str2num mit

Code:
eml.extrinsic('STR2DOUBLE')


deklarieren und dann

Code:
IMPULSZEIT1 = STR2DOUBLE(get_param('Orbit3dHohmanntransferTEST/Erster','Time'));


so die Ausgabe in eine double umwandeln.

Gruß
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 - 2025 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.