想编一个3x3矩阵的计算函数 MatrixDet
请教老师,这样的写法在运行中好像编译不过去。 是写法有问题吗。请指点修正。
Defs
// 3x3矩阵行列式计算
Numeric MatrixDet(Array[3,3] mat);
Begin
Return mat[0,0]*(mat[1,1]*mat[2,2]-mat[1,2]*mat[2,1])
- mat[0,1]*(mat[1,0]*mat[2,2]-mat[1,2]*mat[2,0])
+ mat[0,2]*(mat[1,0]*mat[2,1]-mat[1,1]*mat[2,0]);
End;
就是ai写的,太不靠谱了。要定义一个矩阵,我想做的是数组的乘法。改成这样也不对,是我对数组乘法的方式理解有问题吗?
Params
//此处添加参数
ArrayRef<Numeric> mat;
Vars
Numeric a; Numeric a1;Numeric a2; Numeric b; Numeric b1;Numeric b2;
Begin
a = mat[1][1]*mat[2][2]-mat[1][2]*mat[2][1];
a1 = mat[1][0]*mat[2][2]-mat[1][2]*mat[2][0];
a2 = mat[1][0]*mat[2][1]-mat[1][1]*mat[2][0];
b = mat[0][0]*a;
b1 = mat[0][1]*a1;
b2 = mat[0][2]*a2;
Return (b-b1+b2);
End
首先,矩阵,是一个二维数组,你首先要会定义二维数组。
其次,矩阵乘法,是两个矩阵相乘,一个矩阵,那是行列式求rank...
这是写在哪里啊?
怎么又有defs又有begin end啊?
还有定义矩阵array[3,3]这是什么意思?不会又是ai写的吧?