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 に答える