如何在语言C中将矩阵3x3乘以3x1

时间:2017-10-05 20:52:16

标签: c

double s[3][3] = {-0.145, 0.784,  0.745,
                  0.214, 0.547,  0.547,
                  0.321, 0.254,  0.452 };

double g[3] = {0.124,0.245,0.657};

double result[3];

int i, j; 

int main() {
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
        result[i] += s[i][j] * g[i];
        result[i];
        printf("%d\t", result[i]);
        }
    }
}

告诉我,我在程序中写的有什么问题?因此,您应该得到一个3x1的矩阵。

1 个答案:

答案 0 :(得分:1)

你需要像这样初始化结果:

double result[3] = {0.,0.,0.}

因为result[i] += ... 正在增加现有价值。

result[i] += s[i][j] * g[j]; (g[j] instead of g[i])