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

coder.extrinsic('polyarea'); mxArray - umwandeln/benutzen?

 

nochmotivierteranfänger
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 07.05.13
Wohnort: Kaiserslautern
Version: ---
     Beitrag Verfasst am: 11.06.2013, 16:15     Titel: coder.extrinsic('polyarea'); mxArray - umwandeln/benutzen?
  Antworten mit Zitat      
Hallo,
ich hoffe, ich bin hier richtig mit meinem Problem, tut mir leid, falls nicht Sad

ich benutzte in einem Simulink- fcn-block 'polyarea()'.
da dies wohl in Simulink nicht unterstützt wird, hat mich die Fehlermeldung zu coder.extrinsic weitergeleitet.
Ich habe das so verstanden, dass das Problem damit an Matlab ausgegeben, dort dann berechnet und dann das Ergebnis zurückgegeben wird.
Das habe ich nun eingebaut:
Code:
coder.extrinsic('polyarea');
A=polyarea(x_schnitt,z_schnitt);

if V<=A
...


und bekomme eine neue Fehlermeldung, nämlich dass A ein mxArray wäre und damit kann man in der if-Schleife so nicht rechnen:
'Expected either a logical, char, int, fi, single, or double. Found an mxArray. MxArrays are returned from calls to the MATLAB interpreter and are not supported inside expressions. They may only be used on the right-hand side of assignments and as arguments to extrinsic functions.'

Trotz ausgiebiger Suche nix gefunden; könnt ihr mir schnell sagen, wie man einen mxAray wieder umwandelt in ein double oder sonstwas normales Question A soll ja eigl nur einen einfachen Wert (Flächeninhalt) enthalten.

Ich kenn mich nicht aus und freue mich über Lösungen
...und auch über Hintergrundwissen - bin kein Programmierer..
Private Nachricht senden Benutzer-Profile anzeigen
Verschoben: 11.06.2013, 17:28 Uhr von denny
Von Programmierung nach Simulink


Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2013, 06:13     Titel:
  Antworten mit Zitat      
die eigentliche Berechnung des Flächeninhaltes kann man ja in eine Zeile schreiben (http://de.wikipedia.org/wiki/Polygon). Das kann man zur Not schnell selbst schreiben oder im fileexchange nachschauen.

viele Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
nochmotivierteranfänger
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 07.05.13
Wohnort: Kaiserslautern
Version: ---
     Beitrag Verfasst am: 17.06.2013, 07:46     Titel:
  Antworten mit Zitat      
Danke,

ich habe es bisher mit etwas gelöst, das ich irgendwo in der Hilfe gefunden hatte;

Code:

coder.extrinsic('polyarea');

dA=polyarea(x,y);
A = 0; % Define y as a scalar of type double
A = min(dA);
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.