gpt4 book ai didi

c - 矩阵与 vector 相乘

转载 作者:行者123 更新时间:2023-11-30 15:59:40 32 4
gpt4 key购买 nike

我需要将矩阵和 vector 相乘。

为了实现这一点,我编写了一个带参数的函数:

float** M 尺寸的最大值:m x n。

float* V 长度为 n 的 vector 。

float* R 我在其中存储结果,长度为 m 的 vector ,已分配。

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]);
}
}
}

问题是我得到的结果不正确。 :-/有什么想法吗?

感谢您 future 的回答!

编辑

解决方案已找到,感谢您的提示!

我刚刚添加了这部分代码,将 R 设置为全零。

for (i=0;i<m;i++){
R[i] = 0;
}

最佳答案

您忘记初始化 R?如果它是堆栈分配的或使用 malloc() 分配的,则其初始状态未定义。

关于c - 矩阵与 vector 相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8553114/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com