6

我必须将一些 matlab 代码重写为 C,然后再次使用 MEX 将其嵌入到 Matlab 中。到目前为止,我已经阅读了一些关于它如何适用于简单数据结构的教程和示例。(我以前从未这样做过,尽管我认为自己在 Matlab 和 C 方面都有经验)。

所以这里是问题:

我给了类似的东西

classdef MyClass
     properties
          foo;
          bar;
          blub;
          somethingElse;
     end

     methods

          function obj = myFun(obj) % really just some random example code
               obj.foo = obj.bar;
               obj.blub = 42;
               for i = 1:length(obj.somethingElse)
                    obj.somethingElse(i) = i*i;
               end;
          end
     end
end

我想将 myFun 重写为 MEX/C 函数。如果我将一个类传递给一个 MEX 函数,我如何访问这个类的不同属性?

谢谢

4

1 回答 1

11

您在 MEX API 中有以下函数:

mxGetPropertymxSetProperty

它们的使用相当于:

value = pa[index].propname;

pa[index].propname = value;

请注意,这些函数会创建数据的深层副本。有一些未记录的函数可以处理共享数据。

于 2013-08-07T14:38:56.697 回答