Мне нужно умножить матрицу и вектор.
Для этого я написал функцию с параметрами:
float** M
Максрикс измерений: mx n.
float* V
Вектор длины n.
float* R
Где я храню результат, вектор длины m уже выделен.
int m, int n
Длина.
Вот мой код:
int i,j;
for (i=0;i<m;i++){
for (j=0;j<n;j++){
R[i]+=(M[i][j]*V[j]);
}
}
Полный код функции:
void m_mult_v(float** M, float* V, float* R, int m, int n) {
int i,j;
for (i=0;i<m;i++){
for (j=0;j<n;j++) {
R[i]+=(M[i][j]*V[j]);
}
}
}
Проблема в том, что полученный результат не является правильным.: - / Есть идеи?
Спасибо за ваши будущие ответы!
РЕДАКТИРОВАТЬ
Решение найдено, спасибо за ваши советы!
Я только добавил эту часть кода, чтобы установить R на все нули.
for (i=0;i<m;i++){
R[i] = 0;
}