[英]Asserting equality of two armadillo cx_mat matrices using CPPUNIT
我是CPPUNIT的新手。 我已经使用犰狳库生成了类型为cx_mat(double double)的矩阵A,并且我有一个相同类型的reference(expected)矩阵B。 请提出一种使用矩阵A和B以及一次打出0.0001的增量(公差)的方法,而无需遍历整个矩阵。
如果上述方法不可行,并且唯一的选择是在for循环中使用CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE方法,请提供正确的语法和头文件以供使用。
可以用
bool Arma_test::Is_close(arma::cx_mat& X, arma::cx_mat& Y, double tol)
{
// abs returns a mat type then max checks columns and returns a row_vec
// max used again will return the biggest element in the row_vec
bool close(false);
if(arma::max(arma::max(arma::abs(X-Y))) < tol)
{
close = true;
}
return close;
}
参见Armadillo Docs 。
您现在可以使用roximate_equal函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.