QGenericMatrix如何从行/列返回特定值

时间:2018-06-07 16:05:06

标签: c++ qt qt5 qgenericmatrix

我想在QT中进行矩阵乘法,并且能够初始化QGenericMatrix并将两个矩阵相乘但是如何从最终矩阵(特定行/列)中提取值以进行进一步计算。

float values [] = {
1, 0.23, 0, -0.98,
0, 0.75, 0, -0.67,
0, 0.34, 1, 0.12,
0, 0.98, 0, 0.23
};

float values1 [] = {
34
23
12
11
};

QGenericMatrix<4,4, float> a(values);
QGenericMatrix<1,4, float> b(values1);

QGenericMatrix<1,4, float> result = a * b;
qDebug() << result;

从结果矩阵&lt; 1,4&gt;我想将每个值提取到一个不同的变量。我无法在文档中找到任何信息。

感谢有人请指导我。

由于

2 个答案:

答案 0 :(得分:0)

您必须使用运算符()

float values [] = {
1, 0.23, 0, -0.98,
0, 0.75, 0, -0.67,
0, 0.34, 1, 0.12,
0, 0.98, 0, 0.23
};

float values1 [] = {34, 23, 12, 11};

QGenericMatrix<4,4, float> a(values);
QGenericMatrix<1,4, float> b(values1);

QGenericMatrix<1,4, float> result = a * b;

qDebug()<< result;

qDebug() << result(0, 0);
qDebug() << result(1, 0);
qDebug() << result(2, 0);
qDebug() << result(3, 0);

输出:

QGenericMatrix<1, 4, float>(
     28.51         
      9.88         
     21.14         
     25.07         
)
28.51
9.88
21.14
25.07

答案 1 :(得分:0)

QGenericMatrix为此提供了operator()