|
|
isobjeckt()- vs. isvector()-Abfragen |
|
bombaaa |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 01.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2010b
|
|
|
|
|
|
Verfasst am: 13.12.2010, 12:07
Titel: isobjeckt()- vs. isvector()-Abfragen
|
|
|
|
|
Hallo liebe Community!
Ich hab' hier mehrere Funktionen gebastelt die ich mit direkten Werten (mindestens ein Vektor mit Daten) oder aber mit meinem Selbst generierten Objekt ("Eingangsdaten') befeuern kann. Den Funktionen wollte ich nun ein Art "abfrage-Routine" an den Anfang stellen, wodurch ich die Multifunktionalität der Funktionen in Bezug auf die Eingangsvariablen, realisieren kann.
Also eine Entscheidung, wie die üergebenen Werte aufbereitet werden, damit die Funktion hinterher tut was sie soll, unabhängig davon welche Eingangsdaten existieren.
Der folgende Code-Schnipsel soll nun unterscheiden ob ich einen Vector oder ein Objekt als Eingabevariable habe.
Beim Debuggen hab ich nun herausgefunden, dass er leider mein Objekt der Klasse "Eingangsdaten" nicht als Objekt sondern als Vektor zu erkennen scheint. Ich weiss nicht warum und kann den fehler auch nicht aufspüren.
Mein Objekt definiert sich in einer Klasse die inetwa so aussieht (gekürzte Version):
Ist die Klasse vielleicht falsch deklariert? Bisher hat alles wunderbar funktioniert, bis ich nun eine Art Fehlerbehandlung inbauen wollte, damit keine Falschen Daten behandelt werden und Ergebnisse herauskommen die nicht sein dürfen.
Bitte um Hilfe und Danke schon 'mal im Vorraus
[edit:]
Die Eingabe an der Matlab-Konsole
gibt mir seltsamerweise eine 1 anstatt der erwarteten 0 zurück... folglich müsste etwas mit der classdef falsch sein, oder?
[/edit]
[edit(2):]
Eine "Umgehung" meines Problems wäre wenn ich zuerst abfrage ob es sich um ein Objekt handelt. Wird folglich ein Vektor übergeben trifft die Bedingung an dieser Stelle ja nicht zu. Bei der zeiten Abfrage würde ich dann ja das benötigte "true" bekommen. Diese Behandlung würde zwar funktionieren, aber ich halte das für unsauber...
[/edit]
|
|
|
|
|
bombaaa |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 01.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2010b
|
|
|
|
|
|
Verfasst am: 14.12.2010, 14:12
Titel:
|
|
Ich glaube mein Problem liegt in der Eigenart von Matlab ALLES in Vektoren zu speichern begründet, daher scheint es ja die einzige Möglichkeit zu sein, zuerst zu überprüfen ob es sich um ein Objekt handelt oder nicht.
Falls noch jemandem etwas dazu einfällt, nur her mit den Info's, ich setz den thread aber mal auf 'mit Vorschlag'.
so far...
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.12.2010, 14:23
Titel:
|
|
Hallo,
die Abfrage dürfte besser mit isnumeric oder isa funktionieren.
Grüße,
Harald
|
|
|
bombaaa |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 01.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2010b
|
|
|
|
|
|
Verfasst am: 14.12.2010, 16:13
Titel:
|
|
Hallo Harald,
danke für den Vorschlag, der passt tatsächlich besser! Scheinbar hab ich den komplett übersehen und wusste mangels MATLAB-Erfahrung nichteinmal von seiner existenz.
So funktionierts definitiv besser!
Ich setze den thread dann mal auf 'beantwortet'.
bye
|
|
|
|
|
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.
|
|