関連する質問をいくつか見つけましたが、実際には答えが見つかりませんでした。
MATLAB で OOP 構文を学習するために、単純な小さな MATLAB クラスを作成しています。私は Python に非常に精通しており、MATLAB での作業に頭を悩ませています。定義は次のとおりです。
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
これは確かに行われていませんが、小さなスクリプトを使用してオブジェクトをいじっています。
foo = Car([1,1],[0,2])
foo.start
foo.accelerate(2,3)
インスタンス化は機能しますが、呼び出すメソッドはすべてエラーをスローします。たとえば、次のようにします。
Error using Car/start
Too many input arguments.
私は何が欠けていますか??