0

ゼロでいっぱいの行列があります。次に、一度に 1 つの 0 を値 1 に変更したいと思います。どの要素を変更したいかは、私が決める必要があります。私は次のことを試しました:

    classdef project < handle

properties
      scheme
end

methods
    function obj = project(antpro,antmed)
        obj.scheme = zeros(antpro,antmed);         
    end      

    function obj = AddEmployee(pronav,mednav)
        % Function adding a employee to the scheme
        obj.scheme(pronav,mednav) = 1;
    end
 end 

終わり

自分のやりたいことがある程度明確になることを願っています。このコードを実行すると、「タイプ 'double' の入力引数に対して未定義の関数 'AddEmployee' です。」というメッセージが表示されます。

すべてのファイルが同じフォルダーにあり、それが私の matlab セッションのパスであるため、これを本当に理解していません。

前もってありがとう/Lasse

4

2 に答える 2

1

matlab でのメソッドの宣言ではobj、最初の引数として渡す必要があります。以下は、対応する matlab ドキュメントへのリンクです: http://www.mathworks.nl/help/matlab/matlab_oop/ordinary-methods.html#brdqipw-1

于 2013-04-23T19:41:03.053 に答える
0

これはクラスであり、そのインスタンスを作成してそのAddEmployeeメソッドを呼び出す必要があります (ただし、これを知らずに作成した方法はわかりません)。

>> prj = project(); % Create an instance
>> prj.AddEmployee('a', 'name'); % Call a method in the instance

おそらく、この使用情報を見つけることができるように思えます。オブジェクト指向プログラミングのドキュメントも参照してください。

于 2013-04-23T19:22:44.890 に答える