1

在 MATLAB 的新对象模型中(classdef等):如果我有一个对象数组,并且我调用一个普通方法,是为每个对象调用的方法,还是为整个数组调用的方法,即传入方法的单个对象,还是整个数组?我知道在旧模型中,它是作为整个数组发送的。

4

2 回答 2

6

如果你有:

classdef MyObject

methods
    function foo(obj)
    ...
end

然后你打电话

>> foo(myObjArray)

然后对 foo() 的单个调用将接收整个数组。从那里您可以编写代码来处理 obj 的标量情况或 obj 的向量情况。

于 2009-04-03T20:10:07.657 回答
-1

这取决于您的方法是否是矢量化的。举个简单的例子:

未矢量化

function result = mySimpleMultiply(a,b)

result = a*b;

矢量化

function result = myVectorizedMultiply(a,b)

result = a.*b;
于 2009-04-03T18:21:04.330 回答