Я знаю, что есть еще один пост, рассказывающий об этом, но я чувствую, что они мне не помогают, я хочу сделать функции для умножения матрицы и суммирования матрицы, и одну для печати тоже. Мне нужно это для работы с нейронными сетями
/*
Function to matrix multiplication:
All the matrix need to be declarated
r1 = row of the first matrix
c1 = column of the first matrix
r2 = row of the first matrix
c2 = column of the first matrix
first = A matrix
second = B matrix
mult = C matrix, or A * B
*/
void dot(int r1, int c1, int r2, int c2, float first[][c1], float second[][c2], float mult[][c2])
{
for (int i = 0; i < r1; ++i)
{
for (int j = 0; j < c2; ++j)
{
for (int k = 0; k < c1; ++k)
{
mult[i][j] += first[i][k] * second[k][j];
}
}
}
}
Это должно работать с объявленной матрицей, она работает в C, но мне нужно это в Arduino
Что я могу сделать?
Это на сумму:
/*
Function to sum matrixs:
All the matrix need to be declarated and equal in rows and columns
r = row of the matrix
c = column of the matrix
first = A matrix
second = B matrix
sum = C matrix, or A + B
*/
void sum(int r, int c, float first[][c], int second[][c], float sum[][c])
{
for (int i = 0; i < r; ++i)
{
for (int j = 0; j < c; ++j)
{
sum[i][j] = first[i][j] + second[i][j];
}
}
}
Это для печати, но не важно:
/*
Function to print matrixs:
r = row of the matrix
c = column of the matrix
first = A matrix
second = B matrix
sum = C matrix, or A + B
*/
void printMatrix(int r, int c, float matrix[r][c])
{
for (int i = 0; i < r; i++)
{
Serial.print('[ ');
for (int j = 0; j < c; j++)
{
Serial.print(' ');
Serial.print(matrix[i][j]);
Serial.print(' ');
}
Serial.print(']');
Serial.println("\n");
}
}
Мне действительно нужна помощь