我在Objective-C中遇到了Matrices的问题

时间:2013-02-13 14:03:51

标签: objective-c c math matrix

此代码适用于乘法2矩阵,它发送矩阵a和矩阵b,它们指向matrixMultiply方法。

但我在“matrix12 [i] [j] + = matrix1 [i] [k] * matrix2 [k];”

这一行遇到麻烦
double **matrixMultiply(double *matrix1,double *matrix2,int row1,int col1,int col2){

    double **matrix12 = malloc(sizeof(double*)*row1);
    for (int i=0; i<row1; i++){
        matrix12[i] = malloc(sizeof(double*)col2);

        for (int j=0; j<col2; j++){
            matrix12[i][j] = 0.0;

            for (int k=0; k<col1; k++){
                matrix12[i][j] += matrix1[i][k] * matrix2[k]; //invalid operands to binary expression
            }
        }
    }
    return matrix12;
}

double *kmult = *matrixMultiply(a, b, 4, 4, 4,);

Ps.This代码在ViewController.m中声明

1 个答案:

答案 0 :(得分:0)

你确定Matrix1是一个二维矩阵吗?它在一维矩阵中声明:double * matrix1而不是“double ** matrix1” 这可能就是为什么行矩阵12 [i] [j] + = matrix1 [i] [k] * matrix2 [k];不起作用。