Jak skompilować klasę Matlab do C lib?
Pochodzenie tego pytania jest stądJak używać zmiennej „globalnej statycznej” w funkcji matlab zwanej c.
Próbuję hermetyzować „zmienną globalną” w obiekcie. Nie wiem jednak, jak wyeksportować klasę matlab do c ++Kompilator MATLAB (mcc)
Aby to zrobić, właśnie próbowałem standardowego polecenia
Komenda Matlabmcc -W cpplib:Vowel4 -T link:lib Vowel4.m
Skrypt Matlabclassdef Vowel4
properties
x
y
end
methods
Vowel4
A
B
end
end
Generowany lib jest w rzeczywistości samodzielnymi funkcjami, a nie klasą c ++.
W jaki sposób mogę skompilować klasy w Matlabie do klas c ++?
Szukałem odpowiedzi, ale jej nie znalazłem.
Oczywiście polecenie matlab nie jest odpowiednie dla tego scenariusza. Nie mogę jednak znaleźć żadnych informacji na temat budowania klas Matlab w klasach c ++.
========================== Edytuj ======================= =
Rzeczywisty kod cpp jest następujący: @Alan
mclInitializeApplication(NULL, 0);
loadDataInitialize();
soundByCoefInitialize();
loadData();
mwArray F(4, 1, mxDOUBLE_CLASS);
float test[4];
for ( ;; ){
const Frame frame = controller.frame();
const FingerList fingers = frame.fingers();
if ( !fingers.empty() ){
for ( int i = 0; i < 4; i ++ ){
double v = fingers.count() > i ? (fingers[i].tipPosition().y / 50) - 2 : 0;
F(i+1,1) = v;
test[i] = v;
cout << v << ' ';
}
cout << endl;
soundByCoef(F);
}
}
Tutaj matlabA () odpowiada loadData (), która ładuje dane, a soundByCoef (F) odpowiada matlabB (), która wykonuje zadanie w głównej pętli.