[英]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.