仅使用C语言实现串行的矩阵向量乘法程序
时间: 2024-05-10 08:19:45 浏览: 61
下面是一个简单的串行矩阵向量乘法的C语言实现:
#include <stdio.h>
#define ROWS 3
#define COLS 3
int main() {
int matrix[ROWS][COLS] = {{1,2,3}, {4,5,6}, {7,8,9}};
int vector[COLS] = {1, 2, 3};
int result[ROWS] = {0};
// 矩阵向量乘法
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
result[i] += matrix[i][j] * vector[j];
}
}
// 输出结果
printf("Result: ");
for (int i = 0; i < ROWS; i++) {
printf("%d ", result[i]);
}
printf("\n");
return 0;
}
在这个例子中,我们定义了一个 3x3 的矩阵和一个长度为3的向量,然后使用两个嵌套的循环来计算矩阵向量乘积,并将结果存储在一个长度为3的数组中。最后,我们输出结果。
需要注意的是,在实际的应用中,可能需要使用更高效的算法和数据结构来实现矩阵向量乘法,特别是对于大规模的矩阵和向量。
相关推荐














