通过函数调用在matlab中更改矩阵中的值

通过函数调用在matlab中更改矩阵中的值,matlab,function,matrix,user-defined-functions,Matlab,Function,Matrix,User Defined Functions,我有一个满是零的矩阵。然后,我希望将一次0更改为值1。必须由我来决定我想改变的元素。我尝试了以下方法: classdef project < handle properties scheme end methods function obj = project(antpro,antmed) obj.scheme = zeros(antpro,antmed); end function obj =

我有一个满是零的矩阵。然后,我希望将一次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 
classdef项目
结束

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

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

先谢谢你
/Lasse

这是一个类,您需要创建它的一个实例并调用它的
AddEmployee
方法(尽管我不确定您是如何在不知道的情况下创建它的)


听起来你可能会发现它的用处。另请参见文档。

matlab中的方法声明要求传递
obj
作为第一个参数。下面是相应matlab文档的链接:

我只是认为我创建了实例,因为我创建了带有零的矩阵。我想我需要的只是一个函数来改变已经存在的矩阵中的值,但这可能不是一个可能的情况。听起来你希望这个方法不在这个ISN的范围之内。你能让函数静态吗?很抱歉,我不知道这意味着什么,很抱歉,我一定是这个论坛中最没有希望的案例,所以请接受我的愚蠢…这没有什么意义?你是说我的第一个方法,需要是函数obj=project(antpro,antmed)obj=zeros(antpro,antmed);改为结束?我会尝试以下声明:function AddEmployee(obj、pronav、mednav)第一种方法似乎可以解决我的问题!非常感谢,我想我已经试过了,但显然没有。在文档中似乎可以同时使用这两种方法?也许我误解了!?我的matlab在它接受的东西上似乎不一致。。当你在编程的时候很好。。我尝试了一些东西,它工作了,为其他价值创造了一些类似的东西,然后停止了工作。。好吧。。
>> prj = project(); % Create an instance
>> prj.AddEmployee('a', 'name'); % Call a method in the instance