我有一个问题,基本上,我有两个矩阵(向量),一个大矩阵和一个较小的矩阵。我有一个算法,将海量矩阵分成块(小块的大小)
例如(我在这里使用测试数据),所以大矩阵大小是:4x4,小矩阵是 2x2,然后我将特定块(在当前位置)传递给一个检查小矩阵是否为等于大块(在那个特定位置),如果是,则返回真,否则返回假。
我可以像这样输出每个块:
bool compareMatrix(vector<double> &theMatrix1, vector<double> &theMatrix2, int startRow, int startCol)
{
// I can output the matrix blocks like this:
cout << theMatrix1[startRow*2+startCol] << endl;
}
但我不太明白如何将块(在startingRow / Col)与小矩阵进行比较..
这是怎么回事:矩阵1:(4x4)
0 1 0 1
1 1 0 1
0 0 1 1
0 1 1 1
矩阵 2:(2x2)
0 1
0 1
然后我将块分成 2x2:
B1 =
0 1
1 1
B1 等于 theMatrix2 - 否,因此返回 false
B2 =
0 1
0 1
B2 是否等于 theMatrix2 - 是的,所以返回 true
我真的试图尽可能详细地解释事情,希望有人能给我一些建议,因为我已经工作了这么长时间了!
谢谢