0

我有一个充满零的矩阵。然后,我想一次将一个 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 

结尾

我希望有点清楚我想要做什么。当我运行此代码时,我收到消息:“未定义函数 'AddEmployee' 用于类型为 'double' 的输入参数。”

我真的不明白这一点,因为我所有的文件都位于同一个文件夹中,并且它是我的 matlab 会话的路径。

提前谢谢你/Lasse

4

2 回答 2

1

objmatlab 中的方法声明需要作为第一个参数传递。以下是相应 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 回答