Я построил нейронную сеть в Matlab и создал функцию, которая использует NN. Я использовал код C++, чтобы использовать его на моем Arduino Yun.Matlab Coder и Arduino IDE emxCreateWrapper_real_T
В Arduino IDE я впервые написал #include "NeuralNetwork.h" и не имел проблем с компиляцией, но я не уверен, как вызвать сгенерированную функцию из кодера matlab. Заголовок функции:
void NeuralNetwork(const emxArray_real_T *Data, double activity_data[], int
activity_size[2], double *percent)
Какие данные являются emxArray_real_T? в Matlab Data - матрица inf x 5.
Here Я нашел одну с помощью функции emxCreateWrapper_real_T, но если я использую эту функцию в Arduino IDE я только получаю ошибку:
'emxCreateWrapper_real_T' was not declared in this scope
input = emxCreateWrapper_real_T(input_d,5,6);
я не могу найти такую функцию в любой файл создается из MATLAB кодер, где я могу это найти?
Я использую Matlab R2016a.
Моя функция цикла в Arduino является:
void loop() {
//input data are samples from a 3D Accelerometer
double input [6][5] = { {30.38,0.584,0.106,0.253,1}, //walking
{30.4,0.772,0.059,0.461,1}, //walkinh
{1.98,0.026,0.13,1.031,2}, //sitting
{2.0,0.01,0.102,1.03,2}, //sitting
{5.0,-1.135,0.035,0.099,3}, //standing
{5.02,-1.14,0.039,0.09,3}}; //standing
//emxArray_real_T *input;
double activity[6]; //output from NN
double percent = 0; //amound of recognized data
int act_size[2]; //???
print_inp(input); //just prints the input array to the serial interface
// input = emxCreateWrapper_real_T(input,5,6);
NeuralNetwork(input,activity,act_size,&percent);
delay(50000);
}