在 MATLAB 的新对象模型中(classdef
等):如果我有一个对象数组,并且我调用一个普通方法,是为每个对象调用的方法,还是为整个数组调用的方法,即传入方法的单个对象,还是整个数组?我知道在旧模型中,它是作为整个数组发送的。
Marc
问问题
483 次
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 回答