Ich bin ein Microsoft-Entwickler, versuche jedoch, jemandem mit Matlab-Code und -Design zu helfen. Ich habe Mühe, die Syntax und Verwendung einer Klassendefinition zu verstehen.Einfache MATLAB-Klasse definieren
-Code bisher:
classdef Person
properties
Name
end
methods
function obj = Person(aName)
obj.Name = aName;
end
function ret = IsGraeme(obj)
if STRCMP(obj.Name , 'Graeme')
ret= 1;
else
ret= 0;
end
end
end
end
Nun, ich erwarte, dass meine Nutzung unten ähnlich zu sein:
graeme = Person('Graeme');
graeme.IsGraeme();
mit der letzten Zeile 1
zurück.
Die erste Zeile der Nutzung führt zu einem Fehler:
Too many inputs
Die Proben I auf MATLAB gefunden haben, scheinen Sie die classdef
aber nicht die Verwendung zu geben.
Ich hoffe, jemand kann helfen, dieses einfache Beispiel zu korrigieren, so dass ich weiter darauf aufbauen kann. (Wie gesagt, ich bin ein erfahrener Entwickler, nur nicht in dieser Sprache!).
UPDATE 1:
Mit 2013B MATLAB.
Genaue Verwendung und daraus resultierende Fehler unter:
>> gt = Person('Graeme')
Error using Person
Too many input arguments.
Wenn ich Ihren Code kopieren und einfügen und 'STRCMP' in' strcmp' ändern (MATLAB ist [meistens] Groß- und Kleinschreibung!), Funktioniert das wie beschrieben. Verwenden Sie genau das gleiche Code-Snippet? Mit welcher MATLAB-Version und welchem Betriebssystem arbeiten Sie? – hbaderts
Verwenden von 2013b auf Windows 7. Wird versuchen, Fall zu ändern, wenn zurück am Schreibtisch. Danke für die schnelle Antwort. – GinjaNinja
Bestätigt, dass das Ändern von STRCMP in strcmp dies nicht funktioniert. – GinjaNinja