Znalazłem kilka powiązanych pytań, ale tak naprawdę nie znalazłem tam odpowiedzi.Metoda klasy Matlab: Zbyt wiele argumentów
Piszę prostą małą klasę MATLAB, aby poznać składnię OOP w MATLAB. Bardzo dobrze znam Pythona i wyciągam włosy, próbując pracować z MATLAB. Oto definicja:
classdef Car < handle
properties
speed = [0,0] %x,y velocity
position = [0,0]
running = false
end
methods
function obj = Car(pos, spd)
obj.position = pos;
obj.speed = spd;
end
function accelerate(obj,x,y) % Add to speed
obj.speed = obj.speed + [x,y]
end
function position = getPosition(obj)
position = obj.position
end
function start(obj)
obj.running = true
end
function stop(obj)
obj.running = false
end
end
end
To z pewnością nie jest zrobione, ale używam trochę skrypt bałagan z przedmiotu:
foo = Car([1,1],[0,2])
foo.start
foo.accelerate(2,3)
Tworzenie instancji działa, ale każda metoda Wzywam zgłasza błąd . foo.start, na przykład:
Error using Car/start
Too many input arguments.
Czego mi brakuje?
powinienem wyjaśnić, że to jest zawsze to samo „zbyt wiele argumentów wejściowych” błąd dla każdej metody I spróbuj wywołać obiekt. – mrKelley
Jaką wersję MATLAB? Twój kod działa dla mnie na R2011b. – Praetorian
Interesujące, R2013a – mrKelley